[英]access index of dataframe row
我想删除列 id,并创建了两个数据框,一个是唯一行,另一个是包含重复行。 我的代码如下,我想要的是将列 id 添加到每个数据帧(连接)。
d = {'id': ["i1", "i2", "i3", "i4", "i5"], 'x1': [13, 13, 61, 61, 61], 'x2': [10, 10, 13, 13, 13], 'x3': [12, 12, 2, 22, 2], 'x4': [24, 24, 9, 12, 9]}
df = pd.DataFrame(data=d)
del df['id']
dfduplicated = df[df.duplicated()]
dfUNIC= df.drop_duplicates(keep='first')
通过drop
删除id
并通过DataFrame.duplicated
测试重复DataFrame.duplicated
,通过boolean indexing
过滤原始数据:
m = df.drop('id', axis=1).duplicated()
dfduplicated = df[m]
print (dfduplicated)
id x1 x2 x3 x4
1 i2 13 10 12 24
4 i5 61 13 2 9
然后对于逆掩码使用~
:
dfUNIC= df[~m]
print (dfUNIC)
id x1 x2 x3 x4
0 i1 13 10 12 24
2 i3 61 13 2 9
3 i4 61 13 22 12
我会做cumcount
s=df.groupby(list(set(df)-{'id'})).cumcount()
df1=df[s==0].copy()
df2=df.drop(df1.index)
df1
Out[113]:
id x1 x2 x3 x4
0 i1 13 10 12 24
2 i3 61 13 2 9
3 i4 61 13 22 12
df2
Out[114]:
id x1 x2 x3 x4
1 i2 13 10 12 24
4 i5 61 13 2 9
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.