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

时间:2016-08-11 21:48:08

标签: python pandas dataframe

我有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)]) 它说:TypeError: invalid type promotion

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

尝试:

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

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

我希望这会有所帮助。

答案 1 :(得分:2)

$('#button1').on('click')

答案 2 :(得分:1)

这应该不使用字典:

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

答案 3 :(得分:1)

试试这个:

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