遍历数据框中的列并在同一张图上绘图(Python)

Posted

技术标签:

【中文标题】遍历数据框中的列并在同一张图上绘图(Python)【英文标题】:Iterate through columns in a dataframe and plot on the same graph (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)

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

非常感谢!!这很有帮助。

以上是关于遍历数据框中的列并在同一张图上绘图(Python)的主要内容,如果未能解决你的问题,请参考以下文章

遍历数据框中的列并创建一个列名 + str 的列表

从 .txt 中提取以空格分隔的列并添加以保存在新数据框中

遍历 pyspark 数据框中的列,而不为单个列创建不同的数据框

循环遍历 R 中的列并提取字符

Python:比较两个excel表之间的列字符串并找到匹配的列并写入另一个数据框

python 将多个数据图绘制到一张图上