【发布时间】:2015-01-02 10:14:42
【问题描述】:
我正在尝试打印 Pandas 数据框的列以在 Python 2.7 中分隔 *.csv 文件。
使用此代码,我得到一个包含 4 列和日期索引的数据框:
import pandas as pd
import numpy as np
col_headers = list('ABCD')
dates = pd.date_range(dt.datetime.today().strftime("%m/%d/%Y"),periods=rows)
df2 = pd.DataFrame(np.random.randn(10, 4), index=dates, columns = col_headers)
df = df2.tz_localize('UTC') #this does not seem to be giving me hours/minutes/seconds
然后我删除索引并将其设置为单独的列:
df['Date'] = df.index
col_headers.append('Date') #update the column keys
此时,我只需要将数据框的所有 5 列打印到单独的文件中。这是我尝试过的:
for ijk in range(0,len(col_headers)):
df.to_csv('output' + str(ijk) + '.csv', columns = col_headers[ijk])
我收到以下错误消息:
KeyError: "[['D', 'a', 't', 'e']] are not in ALL in the [columns]"
如果我说:
for ijk in range(0,len(col_headers)-1):
然后它可以工作,但它不打印“日期”clumn。那不是我想要的。我还需要打印日期列。
问题:
- 如何让它将“日期”列打印到 *.csv 文件?
- 如何获取带小时、分钟和秒的时间?如果数 rows 从 10 变为 5000,那么秒数是否会从数据帧的一行变为下一行?
编辑: - 回答 Q2 (See here) ==> 在我的特定代码的情况下,请参阅:
dates = pd.date_range(dt.datetime.today().strftime("%m/%d/%Y %H:%M"),periods=rows)
【问题讨论】:
标签: list python-2.7 datetime pandas append