![](/img/trans.png)
[英]ValueError: Index DATE invalid with pandas.read_csv on header row
[英]how to switch from pandas.Series.from_csv to pandas.read_csv for the csv without header row?
pandas.Series.from_csv
已弃用(自 0.21 版本起)。 我想更改我的代码以使用pandas.read_csv
。 但是,我根本找不到可以为没有标题行的 csv 文件加载相同数据的变体。
例如,让我们假设以下 csv:
cntry,country
ctr,center
hts,heights
ft,fort
mt,mount
spg,springs
spgs,springs
st,saint
ter,terrace
e,east
w,west
s,south
n,north
以下弃用代码:
z1 = pd.Series.from_csv('file.csv')
type(z1)
z1.shape
z1
给我(在笔记本中执行):
pandas.core.series.Series
(13,)
cntry country
ctr center
hts heights
ft fort
mt mount
spg springs
spgs springs
st saint
ter terrace
e east
w west
s south
n north
dtype: object
而且我无法使用pandas.read_csv
和以下组合获得相同的结果:
index_col=0
;header=None
;parse_dates=True
;squeeze=True
。例如:
z2 = pd.read_csv('file.csv',index_col=0,header=None,parse_dates=True,squeeze=True)
type(z2)
z2.shape
z2
给我:
pandas.core.series.Series
(13,)
0
cntry country
ctr center
hts heights
ft fort
mt mount
spg springs
spgs springs
st saint
ter terrace
e east
w west
s south
n north
Name: 1, dtype: object
0
的差异。 在.values
或.iteritems()
没有显示。 尽管如此,我不明白它是什么,以及如何使用pandas.read_csv
及其参数消除它。
更新
0
- 是索引的标题。 可以删除: .rename_axis(index=None)
。
1
- 是系列标题。 可以删除: .rename()
。
到目前为止我还看不到如何使用pandas.read_csv
来做到这pandas.read_csv
。
您应该能够执行以下操作:
z1 = pd.read_csv('file.csv', header=None, names=['', 'values'], index_col=0)['values']
这会将文件读入数据帧,将第一列设置为索引,然后选择第二列(名为“值”)作为一个系列。
与您的示例的唯一区别是系列的名称将是“值”。 如果z1.name = None
您可以随时运行z1.name = None
。
使用提供的解决方案几乎有效,但对我来说,索引是一个日期时间索引,并且我在开始时有一个 NaT 值。 解决方法:
def load_pandas_series(filename):
df1 = pd.read_csv(filename, index_col=0, names=['', 'values'],
header=None, parse_dates=True)['values']
df1.name = None
df1 = df1[~df1.index.isnull()]
return df1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.