我有两个数据框,每个数据框看起来都像
date country value
20100101 country1 1
20100102 country1 2
20100103 country1 3
date country value
20100101 country2 4
20100102 country2 5
20100103 country2 6
我想将它们合并到一个看起来像
的数据框中date country1 country2
20100101 1 4
20100102 2 5
20100103 3 6
在熊猫中有没有聪明的方法呢?
答案 0 :(得分:0)
这看起来像数据透视表,在Pandas中出于某种奇怪的原因被称为unstack
。
类似于Wes McKinley的“python for data analysis”一书中的例子:
bytz = df.groupby(['tz', opersystem])
counts = bytz.size().unstack().fillna(0)
(groupby
行中的操作系统然后进行数据透视,以便操作系统成为列,就像您的“country *”值一样。)
P.S。对于cat
数据框,您可以使用pandas.concat
。在结果数据帧上执行.reset_index
通常也很好,在某些(很多?)情况下bc中索引中的重复值会使pandas变得混乱,在数据帧等上使用的.apply
上抛出奇怪的异常。 / p>