gpt4 book ai didi

python - Python/Pandas DataFrame 中的频率图

转载 作者:太空狗 更新时间:2023-10-29 21:16:41 25 4
gpt4 key购买 nike

我有一个经过解析的非常大的数据框,其中包含一些像这样的值和几列:

Name Age Points ...
XYZ 42 32pts ...
ABC 41 32pts ...
DEF 32 35pts
GHI 52 35pts
JHK 72 35pts
MNU 43 42pts
LKT 32 32pts
LKI 42 42pts
JHI 42 35pts
JHP 42 42pts
XXX 42 42pts
XYY 42 35pts

我导入了 numpy 和 matplotlib。

我需要绘制“点数”列中值出现次数的图表。我不需要为绘图准备任何垃圾箱。因此,更多的是查看在大型数据集上出现相同分数的次数。

基本上条形图(或直方图,如果你可以这样称呼的话)应该显示 32pts 出现三次,35pts 出现 5 次,42pts 出现 4 次。如果我可以按排序顺序绘制值,那就更好了。我试过 df.hist() 但它对我不起作用。有什么线索吗?谢谢。

最佳答案

我会直接绘制数据框的 value_count 方法的结果:

import matplotlib.pyplot as plt
import pandas

data = load_my_data()
fig, ax = plt.subplots()
data['Points'].value_counts().plot(ax=ax, kind='bar')

如果您想从列中的所有元素中删除字符串“pnts”,您可以这样做:

df['points_int'] = df['Points'].str.replace('pnts', '').astype(int)

假设它们都以“pnts”结尾。如果它因行而异,则需要查看如下正则表达式: Split columns using pandas

官方文档:http://pandas.pydata.org/pandas-docs/stable/text.html#text-string-methods

关于python - Python/Pandas DataFrame 中的频率图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26476668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com