我今天遇到了一个我无法解决的问题。 我使用
读取了一个 csv 文件mydata = pd.read_csv(file_name, header=0, sep=",", index_col=[0], parse_dates=True)
CSV 看起来像:
2009-12-10,5,6,7,8,9
2009-12-11,7,6,6,7,9
我没有获得索引数据框,而是得到以下输出
print mydata
Empty DataFrame
Columns: []
Index: [2009-12-10,5,6,7,8,9 2009-12-11,7,6,6,7,9]
请帮忙!!我已经尝试了 2 个小时了!
非常感谢
最佳答案
我认为您的代码有效。这是我看到的:
数据:
import pandas as pd
data = """2009-12-10,5,6,7,8,9
2009-12-11,7,6,6,7,9"""
从csv中读取数据。
ts = pd.read_csv(pd.io.parsers.StringIO(data),
names=['timepoint', 'a','b','c','d','e'],
parse_dates=True,
index_col=0)
看起来像这样
In [59]: ts
Out[59]:
a b c d e
timepoint
2009-12-10 5 6 7 8 9
2009-12-11 7 6 6 7 9
索引是一个时间序列
In [60]: ts.index
Out[60]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2009-12-10 00:00:00, 2009-12-11 00:00:00]
Length: 2, Freq: None, Timezone: None
你能试试这个吗,如果你得到不同的结果,可以发布更新吗?
更新:响应@prre72 关于 csv 文件中列标题的评论:
如果 csv 有 5 个列标题且索引列未标记,您可以这样做:
In [17]:
data = """"a","b","c","d","e"
2009-12-10,5,6,7,8,9
2009-12-11,7,6,6,7,9"""
ts = pd.read_csv(pd.io.parsers.StringIO(data),
parse_dates=True,
index_col=0)
In [18]: ts
Out[18]:
a b c d e
2009-12-10 5 6 7 8 9
2009-12-11 7 6 6 7 9
In [19]: ts.index
Out[19]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2009-12-10 00:00:00, 2009-12-11 00:00:00]
Length: 2, Freq: None, Timezone: None
关于python - 无法从 read_csv 索引 Pandas 数据框中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21066464/