我尝试使用Pandas和Matplotlib来比较两组数据,每组数据都有一个很长的分类变量列表,我想使用value_counts()方法来获取并存储每组数据中每个变量值的频率,这样我就可以在以后比较这两组数据在统计学上的显著差异。
到目前为止,我只有一个函数,可以在数据框中以饼图的形式显示每列的值和计数,给定一个在函数外部定义的列列表(cat_columns):
def getCat(data):
for column in cat_columns:
plt.figure()
df[column].value_counts().plot(kind='pie', autopct='%1.1f%%')
plt.title(f"Distribution of {column} Patients in {dataname}")
plt.ylabel('')
getCat(df)
是否可以将value_counts()的返回值追加/存储到与每个原始数据集相对应的新DataFrame对象中,以便以后可以访问和操作这些值?
TIA!
1条答案
按热度按时间0s0u357o1#
我认为您可以首先将value_counts Series转换为DataFrame,然后将其与原始数据合并。
下面是一个如何做到这一点的例子。