【问题标题】:Iterate through columns in a dataframe and plot on the same graph (Python)遍历数据框中的列并在同一张图上绘图(Python)
【发布时间】:2021-01-13 08:01:52
【问题描述】:

我对 Python 比较陌生,尽管根据我作为分子生物学家的经验,我对数据分析和统计有一些基本的了解。有了这个,我正在尝试使用 Python 将我的数据框中的几列绘制成一个漂亮的图表,以便能够比较来自各种实验条件的各个数据。我在屏幕截图中附上了一个示例,显示了在我进行了一些非常基本的数据整理和清理(转置、删除 NaN 或“0”值等)之后我如何拥有一些列。如您所见,我希望能够遍历列(例如,假设列 2-10)并仅将这些数据绘制到 kde 图中。我怎样才能有效地做到这一点?非常感谢您的耐心和帮助! enter image description here

sns.set_style("darkgrid")
sns.kdeplot(data=df['N01_POOL4_1143_totNG_120_sampNG'],shade=True)
sns.kdeplot(data=df['N01_POOL9_2417_totNG_636_sampNG'],shade=True)
sns.kdeplot(data=df['N15_POOL6_1889_totNG_60_sampNG'],shade=True)
sns.kdeplot(data=df['N95_POOL2_669_totNG_75_sampNG'],shade=True)
sns.kdeplot(data=df['PosC1U_POOL2_669_totNG_171_sampNG'],shade=True)
plt.xlim(-400,3000)
plt.ylim(-0.00001,0.004)

【问题讨论】:

    标签: python pandas loops matplotlib seaborn


    【解决方案1】:

    您可以创建一个列表切片并对其进行迭代:

    for col_name in df.columns.values[1:10]:
      sns.kdeplot(data=df[col_name],shade=True)
    

    这里df1.columns.values 将数据框列名称作为字符串列表返回,[1:10] 采用从第一个元素到第十个元素的子列表。

    【讨论】:

    • 非常感谢!!这很有帮助。
    猜你喜欢
    • 2019-11-24
    • 2019-07-12
    • 1970-01-01
    • 2017-10-07
    • 2015-06-25
    • 1970-01-01
    • 2021-05-20
    • 2022-12-14
    • 1970-01-01
    相关资源
    最近更新 更多