【发布时间】:2018-09-07 09:54:55
【问题描述】:
我正在尝试创建一个数据框,在其中将重复项添加为列中的变体。为了进一步说明我的问题:
我有一个这样的熊猫数据框:
Case ButtonAsInteger
0 1 130
1 1 133
2 1 42
3 2 165
4 2 158
5 2 157
6 3 158
7 3 159
8 3 157
9 4 130
10 4 133
11 4 43
... ... ...
我已经把它转换成这个形式了:
grouped = activity2.groupby(['Case'])
values = grouped['ButtonAsInteger'].agg('sum')
id_df = grouped['ButtonAsInteger'].apply(lambda x: pd.Series(x.values)).unstack(level=-1
0 1 2 3 4 5 6 7 8 9
Case
1 130.0 133.0 42.0 52.0 47.0 47.0 32.0 94.0 NaN NaN
2 165.0 158.0 157.0 141.0 142.0 142.0 142.0 142.0 142.0 147.0
3 158.0 159.0 157.0 147.0 166.0 170.0 169.0 130.0 133.0 133.0
4 130.0 133.0 42.0 52.0 47.0 47.0 32.0 94.0 NaN NaN
现在我想找到重复项并将每个重复项标记为变体。所以在这个例子中,案例 1 和 4 应该得到变体 1。像这样:
Variants 0 1 2 3 4 5 6 7 8 9
Case
1 1 130.0 133.0 42.0 52.0 47.0 47.0 32.0 94.0 NaN NaN
2 2 165.0 158.0 157.0 141.0 142.0 142.0 142.0 142.0 142.0 147.0
3 3 158.0 159.0 157.0 147.0 166.0 170.0 169.0 130.0 133.0 133.0
4 1 130.0 133.0 42.0 52.0 47.0 47.0 32.0 94.0 NaN NaN
我已经尝试过这个方法https://stackoverflow.com/a/44999009。但它不适用于我的数据框。不幸的是我不知道为什么。
可能会应用双 for 循环。因此,对于每一行,查看记录中是否存在重复项。这对大型记录是否有效,我不知道。
我还添加了分组程序,因为此时可能已经使用重复项?
【问题讨论】:
-
对于那些认为这个问题是否定的人,你能告诉我为什么吗?这是我可以改变任何事情的唯一方法。
-
我觉得你的问题很好。
-
感谢您的反馈,
-
不是我的反对意见。但是,如果您能更详细地解释“其他帖子不起作用”的具体含义,可能会有所帮助。它没有运行还是产生错误的结果或......?
-
@jotasi 下次我会考虑的。感谢您的反馈。
标签: python pandas numpy dataframe duplicates