- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个具有以下格式的 CSV 文件 (aal_21_02_2018):
,Open,High,Low,Close,Volume
2018-02-21 08:01:00,1744.2,1746.0,1738.6,1738.6,34727
2018-02-21 08:02:00,1738.8,1743.0,1738.8,1740.0,6483
2018-02-21 08:03:00,1739.6,1739.6,1737.8,1738.2,6622
我想把这个文件变成一个DataFrame。当我运行以下方法时:
df = read_csv('aal_21_02_2018', index_col='datetime')
显示以下错误:
ValueError: Index datetime invalid
如何正确地将这个 CSV 文件解析为 DataFrame?
最佳答案
您有一个未命名的列,因此请传递序数位置
df = read_csv('aal_21_02_2018', index_col=0)
示例:
In[4]:
df = pd.read_csv(io.StringIO(t), index_col=0)
df
Out[4]:
Open High Low Close Volume
2018-02-21 08:01:00 1744.2 1746.0 1738.6 1738.6 34727
2018-02-21 08:02:00 1738.8 1743.0 1738.8 1740.0 6483
2018-02-21 08:03:00 1739.6 1739.6 1737.8 1738.2 6622
如果您需要 datetimeIndex,则可以传递 parse_dates=[0]
:
In[7]:
df = pd.read_csv(io.StringIO(t), index_col=0, parse_dates=[0])
df
Out[7]:
Open High Low Close Volume
2018-02-21 08:01:00 1744.2 1746.0 1738.6 1738.6 34727
2018-02-21 08:02:00 1738.8 1743.0 1738.8 1740.0 6483
2018-02-21 08:03:00 1739.6 1739.6 1737.8 1738.2 6622
我们可以看到索引现在是一个 datetimeIndex:
In[8]:
df.index
Out[8]:
DatetimeIndex(['2018-02-21 08:01:00', '2018-02-21 08:02:00',
'2018-02-21 08:03:00'],
dtype='datetime64[ns]', freq=None)
关于这是如何发生的,默认的 to_csv
行为是将索引输出为未命名列,如果您传递 index_label='datetime'
那么这将写出一个命名索引:
In[10]:
df.to_csv(index_label='datetime')
Out[10]: 'datetime,Open,High,Low,Close,Volume
2018-02-21 08:01:00,1744.2,1746.0,1738.6,1738.6,34727
2018-02-21 08:02:00,1738.8,1743.0,1738.8,1740.0,6483
2018-02-21 08:03:00,1739.6,1739.6,1737.8,1738.2,6622'
那么你的原始代码就会起作用:
In[12]:
pd.read_csv(io.StringIO(df.to_csv(index_label='datetime')), index_col='datetime')
Out[12]:
Open High Low Close Volume
datetime
2018-02-21 08:01:00 1744.2 1746.0 1738.6 1738.6 34727
2018-02-21 08:02:00 1738.8 1743.0 1738.8 1740.0 6483
2018-02-21 08:03:00 1739.6 1739.6 1737.8 1738.2 6622
关于python - Pandas read_csv 日期时间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48904194/
我正在尝试使用 dask 读取 csv 文件,它给了我如下错误。但问题是我想要我的 ARTICLE_ID是 object(string) .谁能帮我成功读取数据? 回溯如下: ValueError:
我有一个文件,其中包含如下数据 1000000 183:0.6673;2:0.3535;359:0.304;363:0.1835 1000001 92:1.0 1000002 112:1.0 1000
我刚刚注意到 read_csv()以某种方式使用了意外的随机数(至少对我而言)。对应的基R函数read.csv()不这样做。那么,read_csv() 是什么意思?使用随机数?我查看了文档,但找不到明
我有一个 csv 文件,其中包含日期和时间戳作为两列。我正在使用 Pandas read_csv将内容读入数据帧。我的最终目标是根据数据绘制时间序列图。 !head vmstat.csv wait_p
我正在解析大量 csv 数据。数据相当“脏”,因为我有不一致的分隔符、虚假字符和格式问题,这些问题会导致 出现问题。 read_csv() . 然而,我的问题不是数据的肮脏,而是试图理解 的解析错误。
我有以下 csv: value value value value ... id 1 1 1
我无法读取仅知道部分文件名的 csv 文件。这是我所做的,但出现错误: "pandas.errors.ParserError: Error tokenizing data." What should
我想知道是否有办法在 read_csv() 过程中读取分类值。 通常您可以在事后进行转换,例如: df.zone = df.zone.astype('category') 此时 df 占用了更多内存,
我尝试用 pandas 分析的 HTTP 日志文件有时会有意外的行。这是我加载数据的方式: df = pd.read_csv('mylog.log', sep=r'\s(?=(
csv 数据示例: 2019-08-15 00:00:06,430 0:0 - {"info":{"name":"LTD - PUBLIC"}} pd.read_csv(filepath, sep=
我对 python 很陌生。 我正在尝试使用 python 自动执行一些建筑能耗数据的数据分析。我正在使用 python 2.7.3、pandas 0.12、Canopy with qtconsole
我有一个 csv 文件,格式如下: 0;2017-02-16 15:08:16;81,307877;;;;;;; 因此,分号作为分隔符,日期和时间以及带小数点逗号的 float 。最后是一堆分号。 P
我有一个 csv 文件如下: 0 5 1 10 2 15 3 20 4 25 我想将其保存为名称为 x,y 轴的数据框,然后绘制它。但是,当我分配 x,y 时,我得到了一个困惑的 DataFrame,
这里将更新最新的最全面的read_csv()函数功能以及参数介绍,参考资料来源于官网。 pandas库简介 官方网站里详细说明了pandas库的安装以及使用方法,在这里获取最新的pandas库信
从windows操作系统本地读取csv文件报错 ? 1
pandas.read_csv()遇到读进来乱码问题 1.设置encoding='gbk'或者encoding='utf-8'。pandas.read_csv('data.csv',encodin
我有一个包含日期、国家/地区(只能在预定义列表中取值)等信息的 csv 文件,我目前正在使用 converters 参数来进行一些完整性检查,如下所示: import pandas as pd def
我是 Pandas 库的新手。 我共享了基于数据框的代码。 有没有办法在没有任何定界符的情况下逐行读取 gzip 文件(使用整行,该行可以包含逗号和其他字符)作为单行并在数据框中使用它?似乎你必须提供
我正在有效地尝试将以下文件读入 DataFrame 并再次将其原封不动地写出。 F1,F2,F3,F4,F5 "blah","blah",123,"123","123" "blue","blue",4
我正在尝试读取一个在每个单元格中包含多个值的 csv 文件,并且我想将它们编码为单个 int 格式的字节以存储在 Pandas 单元格中,(例如 (1, 1) -> 771)。为此,我想使用 read
我是一名优秀的程序员,十分优秀!