如何将两个不同的Dataframe列均衡为相同的大小

时间:2014-08-15 10:14:32

标签: python pandas

我有两个不同的dataFrame列,它们的大小不同,完成它的最佳方法是什么...在advnace中感谢

例如: -

    df1 = pd.DataFrame(np.random.rand(100,2), columns = list('ab'))
    df2 = pd.DataFrame(np.random.rand(50,2), columns = list('ab'))
    df2 = df2['b'].values
    n = len(df1) #100
    xi = np.linspace(0, n, df2)

我无法将数组转换为浮点值,任何建议,指针都会有很多帮助!

1 个答案:

答案 0 :(得分:1)

看看评论,我相信你问的是错误的问题。你说 我试图将两个图表放在相同的图表中(将较小的图表拉伸到较大的图表)以进行比较,因此我尝试将两个DataFrame转换为相同的大小(根据要求)。

我要尝试做的是将第二个值分布在列上。只要您使用线而不是点来绘制值,就不会有视觉差异。

df1 = pd.DataFrame(np.random.rand(100,2), columns = list('ab'))
df2 = pd.DataFrame(np.random.rand(50,2), columns = list('ab'))
x = len(df1)/len(df2)
df3 = pd.DataFrame(columns=['a', 'b'], index=df1.index)
df3[::x] = df2.values

In[78]: df3.head()
Out[78]: 
           a          b
0  0.3328085  0.7470998
1        NaN        NaN
2  0.8862908  0.5316886
3        NaN        NaN
4  0.7480417  0.7225618

现在你可以做事了

df = pd.concat([df1, df3], axis=1)
df.plot()