【问题标题】:TypeError: only integer scalar arrays can be converted to scalar index while converting dataframe "to_datetime"TypeError:在转换数据帧“to_datetime”时,只能将整数标量数组转换为标量索引
【发布时间】:2020-04-20 21:11:38
【问题描述】:

我确定我错过了一些简单的事情,但是在格式为“对象”的日期列的“to_datetime”转换过程中出现了这种类型错误。我尝试了此代码的不同变体,但仍然遇到相同的错误。我正在使用 PyCharm IDE。

import pandas as pd

df = pd.read_csv('data/myData.csv')
df.columns = [['date', 'open', 'high', 'low', 'close', 'volume']]
df['date'] = pd.to_datetime(df['date'], format='%m%d%Y:%H:%M:%S.%f')

# print(df.dtypes)
print(df.head())

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    这里的问题是将嵌套列表转换为列得到一级MultiIndex

    所以为了防止它使用:

    df.columns = ['date', 'open', 'high', 'low', 'close', 'volume']
    

    或跳过文件中的第一行(原始标题)并通过names参数设置新标题:

    df = pd.read_csv('data/myData.csv', 
                     skiprows=1,
                     names=['date', 'open', 'high', 'low', 'close', 'volume'])
    

    【讨论】:

    • 谢谢。主要问题是双括号,我没有正确的当前格式。我正在关注一个视频,他们有双括号。不知道他是如何用双括号完成的,但我的代码现在可以工作了。谢谢你!
    猜你喜欢
    • 2020-04-30
    • 2020-07-23
    • 2020-03-12
    • 2019-03-15
    • 2021-01-17
    • 2021-02-09
    • 1970-01-01
    • 2020-09-19
    • 2018-09-27
    相关资源
    最近更新 更多