什么比
更好grouped = df.groupby('A', sort=False)
for name, group in grouped:
filename = name + '.csv'
del group['A']
group.to_csv(filename, index=False)
我只是想提高我的Python / Pandas技能。
答案 0 :(得分:0)
这个解决方案对我来说很好看。 另一种方法是使用列表推导来生成名称,数据框元组然后可以迭代并保存:
import pandas as pd
import random
#Create some random data
DF = pd.DataFrame({'A': [random.randint(1, 10) for x in xrange(200)], \
'Data' : [random.random() for x in xrange(200)]})
#Create list of tuples where first element in each tuple is the name of the group
#and the second element is a data frame containing the data relating to that group.
segments = [(group[0], pd.DataFrame(group[1])) for group in DF.groupby('A', sort = False)]
然后你可以迭代分段来保存,或浏览它们,或者你真正想要的任何东西......列表理解可以为你节省一些代码,但我不确定它是否比你的更好这样做。