Python 通过传递带有日期时间索引和标记列的NumPy数组来创建数据帧:

Python 通过传递带有日期时间索引和标记列的NumPy数组来创建数据帧:,python,pandas,Python,Pandas,运行代码时,出现以下错误:- “列表”对象不可调用 dates = pd.date_range('20190101', periods=6) dates df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD')) 预期产出:- In [8]: df Out[8]: A B C D 2013-01-01 0.469

运行代码时,出现以下错误:-

“列表”对象不可调用

dates = pd.date_range('20190101', periods=6)
dates

df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
预期产出:-

In [8]: df
Out[8]: 
                   A         B         C         D
2013-01-01  0.469112 -0.282863 -1.509059 -1.135632
2013-01-02  1.212112 -0.173215  0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929  1.071804
2013-01-04  0.721555 -0.706771 -1.039575  0.271860
2013-01-05 -0.424972  0.567020  0.276232 -1.087401
2013-01-06 -0.673690  0.113648 -1.478427  0.524988

你的代码完全正确。如果您在重新启动内核后立即执行它,那么它一定会运行。您遇到的错误是指您用于将字符串转换为列表的函数。最有可能的情况是,您在其他地方使用了list作为
对象
名称,该对象仍在内存中,并覆盖了list函数。

numpy.random.randn
生成您提供的形状数组(在您的情况下,
(6,4)
填充了从单变量“normal”(高斯)中采样的随机浮点数)均值0和方差1的分布

要获得2013年,您应该将
date\u range
函数中的值更改为
'20130101'

此外,您提供的代码段没有错误。因此,可能是因为其他代码段而导致错误。无论如何,我认为您正在寻找以下内容:

将numpy导入为np
作为pd进口熊猫
日期=pd.日期范围('20130101',期间=6)
df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
它给出以下输出:


对我来说似乎很好,哪一行出错了?