遍历数据框中的列并在同一张图上绘图(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)的主要内容,如果未能解决你的问题,请参考以下文章
遍历 pyspark 数据框中的列,而不为单个列创建不同的数据框