我有一个样本数据集:
import pandas as pd
df = {'ID': ['H1','H2','H3','H4','H5','H6'],
'AA1': ['C','B','B','X','G','G'],
'AA2': ['W','K','K','A','B','B'],
'name':['n1','n2','n3','n4','n5','n6']
}
df = pd.DataFrame(df)
看起来像:
df
Out[32]:
AA1 AA2 ID name
0 C W H1 n1
1 B K H2 n2
2 B K H3 n3
3 X A H4 n4
4 G B H5 n5
5 G B H6 n6
我想按AA1和AA2(唯一的AA1和AA2对)分组,唯一的一对选择的ID和name值与此无关,并将其输出到一个.csv文件中,因此.csv文件中的输出将如下所示:
AA1 AA2 ID name
C W H1 n1
B K H2 n2
X A H4 n4
G B H5 n5
我试过密码:
df.groupby('AA1','AA2').apply(to_csv('merged.txt', sep = '\t', index=False))
但是无法识别to-csv,我可以在.apply()中放入什么来将groupby结果输出到csv文件?
可以将
groupby
与head
一起使用问题是您试图应用一个不存在的函数
to_csv
。无论如何,groupby也没有to-csv方法。pd.Series
和pd.DataFrame
做。您真正应该使用的是
drop_duplicates
然后将结果数据帧导出到csv:注:如果你真的想要一个groupby解决方案,有一个比drop_duplicates慢12倍的解决方案…:
相关问题 更多 >
编程相关推荐