【问题标题】:Plot from csv with panda grouping使用熊猫分组从 csv 绘图
【发布时间】:2021-04-18 20:10:08
【问题描述】:

如果我有一个 4 列的 csv: 如何通过使用 panda 对第一列进行分组来平均一列 (x) 的值与另一列 (y) 的平均值?我必须为第一列的每个值做一个循环?我不确定实施。

例如,如果我有一个 csv 文件:

a,1,2,4
一,2,2,5
一,3,2,6
a,4,2,5
b,1,3,2
b,2,3,3
b,3,3,4

我想要一个带有 a,average(第 3 列)和 b,average(第 3 列)的图

我必须这样做:

df=pd.reas_csv
x=group_by("values of the 1st column").average()

我还会尝试在第二列上绘制 kde,第一列的每一组都有十行。 我不明白如何从 *csv 文件中对没有特别标头的数据进行分组。

感谢您的帮助。

【问题讨论】:

    标签: python-3.x pandas dataframe csv data-analysis


    【解决方案1】:

    假设您的数据框看起来像

    print(df)
    
       0  1  2  3
    0  a  1  2  4
    1  a  2  2  5
    2  a  3  2  6
    3  a  4  2  5
    4  b  1  3  2
    5  b  2  3  3
    6  b  3  3  4
    

    如果你想用a 第三列的平均值和b 第三列的平均值绘图,你可以这样做

    import pandas as pd
    import matplotlib.pyplot as plt
    
    df.groupby(0).mean()[3].plot.bar(rot=0)
    
    plt.show()
    

    【讨论】:

    • 感谢您的帮助!对于在此过程中读取它们的不同变量的大型数据集,您如何做到这一点?
    • @John 不同的变量无关紧要,groupby 可以很好地处理它们。我不明白在这个过程中阅读它们
    猜你喜欢
    • 2022-01-20
    • 2013-08-21
    • 1970-01-01
    • 2021-10-16
    • 2019-02-04
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2019-10-10
    相关资源
    最近更新 更多