我有一个1377x6数据帧,其中有两列有趣的内容:“ ID”和“ foo” 我将foo列分为> 0.25和<0.25,得到2个不同的数据帧。
我想从> 0.25数据帧和<0.25数据帧创建散点图。
我想,如果我只是将负列合并到正数据框中,就不会遇到很多问题,但是我想知道是否可以使用来自两个不同数据框中的值创建列散点图?
我尝试使用
plt.scatter(x = greater['foo'], y = less['foo'])
但是我遇到了ValueError,说x和y的大小必须相同。
将列合并到一个数据框中可以解决此问题吗?
答案 0 :(得分:0)
如果您可以使用seaborn
,我想您想要sns.swarmplot
:
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import numpy as np
# generate dataframe with 100 random integers between 0 and 100
df = pd.DataFrame({'a': np.random.randint(0,100,100)})
# create a new column with True if value is larger than 50 and False otherwise
df['larger_than_50'] = df['a'] > 50
# make swarmplot
sns.swarmplot(x='larger_than_50', y='a', data=df)
plt.show()