gpt4 book ai didi

python - 在 pandas 数据框中使用 for 循环遍历列

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:37 25 4
gpt4 key购买 nike

我正在尝试从 CSV 文件中读取数据帧,并为数据帧中的每一列生成散点图。例如,我使用 df=pandas.readcsv()

阅读了以下内容
Sample    AMP    ADP    ATP
1A 239847 239084 987374
1B 245098 241210 988950
2A 238759 200554 921032
2B 230029 215408 899804

我想使用样本作为 x 值以及每列的面积来生成散点图。

我将以下代码与 bokeh.plotting 结合使用以手动绘制每一列

import pandas
from bokeh.plotting import figure, show

df = pandas.read_csv("data.csv")
p = figure(x_axis_label='Sample', y_axis_label='Peak Area', x_range=sorted(set(df['Sample'])))
p.scatter(df['Sample'], df['AMP'])
show(p)

这会成功生成散点图,但我想创建一个循环来为每一列生成一个散点图。在我的完整数据集中,我有超过 500 列要绘制。

我遵循了使用 df.iteritems 和 df.itertuples 迭代数据帧的引用资料,但我不确定如何获得我想要的输出。

我尝试了以下方法:

for index, row in df.iteritems():
p = figure()
p.scatter(df['Sample'], df[row])
show(p)

我马上就遇到了一个错误:

raise KeyError('%s not in index' % objarr[mask] KeyError: "['1A' '1B' '2A' '2B'] not in index

有什么指导吗?提前致谢。

最佳答案

iteritems 遍历列,而不是行。但是您真正的问题是当您尝试使用 df[row] 而不是 df[index] 时。我会将措辞切换到列并执行此操作:

for colname, col in df.iteritems():
p = figure()
p.scatter(df['Sample'], df[colname])
show(p)

关于python - 在 pandas 数据框中使用 for 循环遍历列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38152686/

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