我有两个不同的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)
我无法将数组转换为浮点值,任何建议,指针都会有很多帮助!
答案 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()