Python 猫行为的不一致性

Python 猫行为的不一致性,python,pandas,valueerror,Python,Pandas,Valueerror,以下工作: df1=pd.DataFrame([[1,2,3]],列=['a','b','c']) df2=pd.DataFrame(列=['a','b','c']) pd.concat([df1,df2]) 当然应该如此。但是,以下内容应该完全相同,但它不起作用: od3=OrderedDict([('a',[1]),('b',[2]),('c',[3])) od4=OrderedDict([('a',[]),('b',[]),('c',[])) df3=局部数据帧(od3) df4=局部数

以下工作:

df1=pd.DataFrame([[1,2,3]],列=['a','b','c'])
df2=pd.DataFrame(列=['a','b','c'])
pd.concat([df1,df2])
当然应该如此。但是,以下内容应该完全相同,但它不起作用:

od3=OrderedDict([('a',[1]),('b',[2]),('c',[3]))
od4=OrderedDict([('a',[]),('b',[]),('c',[]))
df3=局部数据帧(od3)
df4=局部数据帧(od4)
pd.concat([df3,df4])
这段代码产生

ValueError: Shape of passed values is (3, 1), indices imply (3, 0)
奇怪的是,这些都起作用了:

pd.concat([df3.drop\u duplicates(),df4.drop\u duplicates()]))
pd.concat([df3,df4.drop_duplicates()]))
pd.concat([df3.drop_duplicates(),df4])
尽管这些导致数据帧具有
float64
s而不是
int64
s


发生了什么事?Pandas存储的
df3
似乎与
df1
不同,即使它们看起来完全相同,
.drop\u duplicates()
方法将
df3
转换为规范形式。(?)有什么想法吗?

df2=pd.DataFrame([[]],columns=['a',b',c'])
为我提供了一个错误:
断言错误:传递了3列,传递的数据有0列
。可能指定您正在使用的版本…我在Python3上使用的是pandas 0.20.3,如果我使用空的数据列表,可以初始化
df2
。我猜定义为
od3
od4
的变量分别是
od1
od2
,但是在做了这个更改之后,代码运行良好。什么是
od1
od2
?没有显示。无法复制“float64s而不是int64s”。因为结果为NaN
df2=pd.DataFrame([[],columns=['a','b','c'])
为我提供了一个错误:
AssertionError:传递了3列,传递的数据有0列
。可能指定您正在使用的版本…我在Python3上使用的是pandas 0.20.3,如果我使用空的数据列表,可以初始化
df2
。我猜定义为
od3
od4
的变量分别是
od1
od2
,但是在做了这个更改之后,代码运行良好。什么是
od1
od2
?没有显示。无法复制“float64s而不是int64s”。因为结果为NaN。