python熊猫导出csv格式不同于导入的问题
我对pandas.read_csv函数有一个奇怪的问题。我将数据框导出到csv中,但是当我重新导入相同的csv时,当我尝试合并时,导入的数据不起作用(合并显示了左侧的所有数据,没有尝试过合并)。如果我在将原始数据导出到csv之前使用原始数据,则它工作得很好(合并是完美的)。python熊猫导出csv格式不同于导入的问题
df = df.values_list('id','teacher_id','uniquecount','nonuniquecount','msgcount','ordercount','date','updated','timestamp', flat=False) #inserting the collected data into a dateframe for manipulation
df = pd.DataFrame(list(df))
#giving the dataframe column names
df.columns = ['id','teacher_id','uniquecount','nonuniquecount','msgcount','ordercount','date','updated','timestamp']
df = df[['id','teacher_id','uniquecount','nonuniquecount','msgcount','ordercount','date']]
#rename required columns
df.rename(columns={'uniquecount':'Unique Views','nonuniquecount':'Views','msgcount':'Messages','ordercount':'Orders'}, inplace=True)
print df
print df.dtypes
# exporting df out to a csv
# df.to_csv('test.csv', header=True)
# importing the df back from a csv
df = pd.read_csv('test.csv', index_col=0)
print df
print df.dtypes
#insert dates
numdays = 14
base = datetime.datetime.today().date()
date_list = [base - datetime.timedelta(days=x) for x in range(0, numdays)]
dates = pd.DataFrame(date_list)
dates.columns = ['date']
#merge the complete dates with the dateframe
df = pd.merge(dates ,df , on=['date'] , how='left')
# print df
我已经确认并比较了dataframes长得一模一样出口前从CSV导入后,(我打印输出的两倍,出口前和一个后一次),我也查了一下datetypes是全部都一样。
我需要导出csv与外部环境一起工作,因为我不能附加我的本地数据库。
附CMDLINE打印的副本显示,这两个dataframes是完全相似的
附在下面是我导出的csv样品
,id,teacher_id,Unique Views,Views,Messages,Orders,date 0,47,31,1,6,0,0,2017-05-09
1,56,31,1,9,0,0,2017-05-10
2,67,31,2,11,0,0,2017-05-14
3,71,31,3,15,0,0,2017-05-15
4,79,31,3,17,0,0,2017-06-12
5,83,31,3,18,0,1,2017-06-18
有没有人有任何想法这个奇怪的问题?
回答:
之前调用合并,尝试转换使用to_datetime
第一这两个日期被称为在回答here
df.date = pd.to_datetime(df.date) dates.date = pd.to_datetime(dates.date)
#merge the complete dates with the dateframe
df = pd.merge(dates ,df , on=['date'] , how='left')
以上是 python熊猫导出csv格式不同于导入的问题 的全部内容, 来源链接: utcz.com/qa/259153.html