在数据框中按列分组并为所有分组创建单独的csv

时间:2018-06-23 09:30:14

标签: python python-3.x pandas group-by pandas-groupby

我有一个100kb的巨大CSV文件,其中包含记录。如下示例

city         employee

california   jhon
delhi        kumar
us           raj
california   brakers
us           kroja
... 

所以我想将它们分组并存储在单独的CSV文件中

我上面示例的输出结果是

city         employee

california   jhon
california   brakers
delhi        kumar
us           raj
us           kroja

我是否需要在数据框中按城市排序/分组,然后进行for循环并遍历整个数据框?

她是我的密码

New_data=pd.read_csv("citynames.csv",encoding = "ISO-8859-1") 
Aftergrouping_data=New_data.groupby("city")
#print(Aftergrouping_data.groups)

for name,group in Aftergrouping_data:
    print(name)
    group.to_csv("aftergrouping.csv".format(name), index=False)

问题在于它会覆盖for循环中的值并显示最后一个组数据。但是我想要文件中所有的分组数据。

先谢谢您

1 个答案:

答案 0 :(得分:0)

从您的描述来看,两个方面似乎很清楚:

  1. 您要排序数据,而不是分组数据。您可以在没有System.out.println("Enter your value, followed by the unit (C/F/K) : "); temp=input.nextLine(); if (temp.contains("exit")) { System.out.println("Ending"); System.exit(0); } 对象的情况下对数据进行排序。
  2. 您要将数据框导出到单个csv文件。无需为此任务使用迭代。

您可以简单地使用groupby后跟sort_values

to_csv