如何在pandas中将csv文件读取为系列(Series)而不是数据框(DataFrame)?

5
当我尝试使用x = pandas.Series.from_csv('File_name.csv', header=None)时,它会抛出一个错误,显示IndexError: single positional indexer is out-of-bounds。
然而,如果我将其作为数据框读取,然后提取系列,它就可以正常工作。 x = pandas.read_csv('File_name.csv', header=None)[0] 第一种方法可能存在问题是什么?

3
你能贴出你的CSV文件中的几行吗? - ayhan
尝试添加index_col=None参数,似乎它正在将整个文件读入单列,并且默认情况下第一列成为索引。 - Vipin
1
尝试这样做:pd.read_csv('文件名.csv', header=None, squeeze=True) - MaxU - stand with Ukraine
谢谢 @Vipin,它起作用了。我的最终代码是 y = pandas.Series.from_csv('File_name.csv', header = None, index_col = None) - Shubham Gupta
2个回答

3

添加index_col=None参数,似乎是在一列中读取整个文件,并且默认的第一列被视为索引。

Pandas 文档 表示不建议使用Series.from_csv。你应该使用更强大的替代方法read_csv。


2

有两种选项可以从csv文件中读取Series:

  1. pd.Series.from_csv('File_name.csv')

  2. pd.read_csv('File_name.csv', squeeze=True)

我倾向于使用 squeeze=Trueread_csv


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接