繁体   English   中英

组合2个列表时,pd.DataFrame()失败

[英]pd.DataFrame() fails when combining 2 lists

我有2个列表如下,而我的列表实际上有3000个元素:

a=[numpy.datetime64('2004-04-12T08:00:00.000000000+0800'),numpy.datetime64('2004-04-12T08:00:00.000000000+0800'),numpy.datetime64('2004-04-12T08:00:00.000000000+0800')]
b=[1,2,3]

当我尝试将它们组合成一个包含2列的数据c=pd.DataFrame([pd.Series(a), pd.Series(b)])c=pd.DataFrame([pd.Series(a), pd.Series(b)])它说: TypeError: invalid type promotion

我怎么解决这个问题?

尝试:

c = pd.DataFrame(data={'a':a,'b':b})

您收到错误是因为您尝试通过将两个列表放在一个列中来创建pandas数据帧,而这些列表中元素的数据类型不匹配。 基本上,您正在尝试将日期和整数放入同一列。

我希望这有帮助。

import pandas as pd
import numpy as np

data = {
    'a': [
        np.datetime64('2004-04-12T08:00:00.000000000+0800'),
        np.datetime64('2004-04-12T08:00:00.000000000+0800'),
        np.datetime64('2004-04-12T08:00:00.000000000+0800')
    ],
    'b': [1, 2, 3]
}

df = pd.DataFrame(data)
print df

这应该不使用字典:

c = pd.DataFrame([a, b]).T
print c

尝试这个:

import pandas as pd 
pd.DataFrame(zip(a,b))

           0  1
0 2004-04-12  1
1 2004-04-12  2
2 2004-04-12  3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM