我有一个1377x6数据帧,有两列感兴趣:“ID”和“foo”我将foo列拆分为> 0.25和<0.25,产生2个不同的数据帧。
我想创建一个> 0.25数据帧和<0.25数据帧的值的散点图。
我想如果我将负列合并到正数据帧中,我不会遇到很多问题,但我想知道你是否可以使用来自两个不同数据帧的值创建列散点图?
我尝试使用plt.scatter(x = greater['foo'], y = less['foo'])
,但我得到了一个ValueError,说x和y必须是相同的大小。
将列合并到一个数据框中可以解决这个问题吗?
如果你可以使用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()