编辑:创建文件正常工作,不能删除列
我有一个要用来创建表的COVID-19数据集。目前,我在政府github页面上有一个大型转储文件。
基本上,我试图获取行State的每个唯一值,并仅针对该状态使用相应的列创建一个新的csv。
因此,如果Arizona有4个数据条目,它将使用这4个条目创建一个新的CSV。
可以从here中找到我正在检索的样本数据集。
我们可以看到,这些列包含标识符,州名称,日期等。
我希望采用每个州,并使用该州的所有值(包括州,国家/地区和3 / 23-3 / 29的日期)创建一个新的csv。
这是解析数据后的样例:
我认为需要发生的事情
我一直在做的工作是解析状态列的唯一值,我只是通过
data=pd.read_csv('deaths.csv')
print (data['Province_State'].unique())
现在,我试图弄清楚如何选择特定的列,并为唯一州(包括该州的所有县)写入值
任何帮助将不胜感激!
编辑:
这是我尝试过的:
def createCSV():
data=pd.read_csv('deaths.csv', delimiter = ',')
data.drop([0,1,2,3,4,5,6,7,8,9,10])
data = data.set_index('Province_State')
data = data.rename(columns=pd.to_datetime)
for name, g in data.groupby(level='Province_State'):
g[pd.date_range('3/23/2020', '3/29/20')] \
.to_csv('{0}.csv'.format(name))
但是,对于没有日期的列,我得到了未知的字符串格式。但是,我试图根据索引删除它们,但似乎没有任何作用。
手动删除列可以使用我想要的功能,但是我需要删除熊猫列以节省时间。
答案 0 :(得分:2)
用于按状态保存:
for name, g in data.groupby('Province_State'):
g.to_csv('{0}.csv'.format(name))
仅在使用某些日期时按州保存:
data = data.set_index('Province_State')
data = data.rename(columns=pd.to_datetime)
for name, g in data.groupby(level='Province_State'):
g[pd.date_range('3/23/2020', '3/29/20')] \
.to_csv('{0}.csv'.format(name))
这假定唯一的列是地区名称和日期。如果不是这种情况,请先删除非日期列,然后再将其转换为日期时间。