在pandas中组合和重新排列两个数据帧

时间:2014-01-29 09:22:18

标签: python pandas

我有两个数据框,每个数据框看起来都像

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

在熊猫中有没有聪明的方法呢?

1 个答案:

答案 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>