Python 数据和分布的日期-时间序列分组
我正在尝试将日期时间序列与存储库数据合并,同时按名称分组并对值求和Python 数据和分布的日期-时间序列分组,python,file,datetime,pandas,Python,File,Datetime,Pandas,我正在尝试将日期时间序列与存储库数据合并,同时按名称分组并对值求和 File1.csv Timeseries,Name,count 07/03/2015 06:00:00,Paris,100 07/03/2015 06:00:00,Paris,600 07/03/2015 06:00:00,Paris,700 07/03/2015 06:00:00,London,200 07/03/2015 06:00:00,London,100 07/03/2015 06:00:00,London,500
File1.csv
Timeseries,Name,count
07/03/2015 06:00:00,Paris,100
07/03/2015 06:00:00,Paris,600
07/03/2015 06:00:00,Paris,700
07/03/2015 06:00:00,London,200
07/03/2015 06:00:00,London,100
07/03/2015 06:00:00,London,500
07/03/2015 06:00:00,Dublin,300
07/03/2015 06:00:00,Dublin,400
07/03/2015 06:00:00,Dublin,400
输出
Master_file.csv (append mode)
Name,Timeseries(n-1)Timeseries(n)#put the datetime series as header and put
Paris,300,1400 #Sum of all the values with same Name
London,200,800
Dublin,400,1100
Program
import pandas as pd
import numpy as np
df = pd.read_csv('/home/lat_lon1.csv')
df1 = pd.read_csv('/home/lat_lon_master.csv')
gp = df.groupby('Name')['date timeseries'].sum().reset_index()
df1.merge(gp, on='Name')
我在将
日期时间
列更改为标题并将正确的值置于标题下时遇到问题。那些未找到的名称可以指定为NAN,并在下一次迭代中替换 请查看python数据帧文档
这是您正在查看的代码
输出
Timeseries名称计数
2015年3月7日06:00:00都柏林1100
2015年3月7日06:00:00伦敦800
2015年3月7日06:00:00巴黎1400
如果有任何问题,请随时回复。
不清楚您在这里尝试的是什么,首先您的列被命名为“日期时间”,另外它的数据类型将是str
,因为您没有告诉read\u csv
,它应该尝试将其解析为日期时间,第三,您只能在数字和数据类型上调用sum
,因此您希望这里的输出是什么?请清楚地阅读问题。timeseries
必须是标题,而不是额外的列。为此,您只需将一行time1=time1.reset_index()更改为time1=time1.reset_index(drop=True),现在不会出现额外的列
#!/bin/python
import pandas as pd
import numpy as np
df=pd.read_csv('/home/saiharsh/Documents/Crowd Street/Transition_Data/Telecom_7.csv') #Please enter the file Location
gp=df.groupby('Name').sum().reset_index()
flag=0
for i in gp['Name']:
if flag==1:
time=df['Timeseries'][df['Name']==i]
time=time.tail(1)
frames=[time1,time]
time1=pd.concat(frames)
else:
time1=df['Timeseries'][df['Name']==i]
time1=time1.tail(1)
flag=1
time1=time1.reset_index(drop=True)
result=pd.concat([time1,gp],axis=1,join='inner')
result=result.to_csv(index=False)
print result