使用日期为键的Pandas从csv创建字典

2024-04-25 05:04:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从下表创建词典

ID    ArCityArCountry         DptCityDptCountry      DateDpt    DateAr
1922  ParisFrance             NewYorkUnitedState     2008-03-10 2001-02-02
1002  LosAngelesUnitedState   California UnitedState 2008-03-10 2008-12-01
1901  ParisFrance             LagosNigeria           2001-03-05 2001-02-02
1922  ParisFrance             NewYorkUnitedState     2011-02-03 2008-12-01
1002  ParisFrance             CaliforniaUnitedState  2003-03-04 2002-03-04
1099  ParisFrance             BeijingChina           2011-02-03 2009-02-04
1901  LosAngelesUnitedState   ParisFrance            2001-03-05 2001-02-02

是的。你知道吗

import pandas as pd
import datetime
from pandas_datareader import data, wb
import csv
#import numpy as np

out= open("testfile.csv", "rb")
data = csv.reader(out)
data = [[row[0],row[1] + row[2],row[3] + row[4], row[5],row[6]] for row in data]
out.close()
print data

out=open("data.csv", "wb")
output = csv.writer(out)

for row in data:
    output.writerow(row)

out.close()

df = pd.read_csv('data.csv')
for DateDpt, DateAr in df.iteritems():
    df.DateDpt = pd.to_datetime(df.DateDpt, format='%Y-%m-%d')
    df.DateAr = pd.to_datetime(df.DateAr, format='%Y-%m-%d')
print df
dept_cities = df.groupby('ArCityArCountry')

for city, departures in dept_cities:
    print(city)
    print([list(r) for r in departures.loc[:, ['AuthorID', 'DptCityDptCountry', 'DateDpt', 'DateAr']].to_records()])

预期产量 ParisFrance = { DateAr, ID, ArCityArCountry, DptCityDptCountry} 注意:我想按ArCityArCountry和DptCityDptCountry分组

您会注意到我没有包括DateDpt;我想选择所有在DateAr和DateDpt之间,并且在指定期间之间实际位于法国或加利福尼亚州的id。你知道吗

例如,1999年10月2日,A先生在巴黎呆到2013年12月12日,B先生在巴黎呆到2010年11月4日,然后离开2012年9月9日,这意味着MrA和B先生在巴黎,因为MrB的巴黎之行正好在当时

MrA在那里CaliforniaUnitedStates = { DateAr, ID, ArCityArCountry, DptCityDptCountry}


Tags: csvinimportdffordataoutrow