【发布时间】:2017-12-03 06:59:42
【问题描述】:
我正在尝试遍历数据框标题名称并将每个名称分配给相应的列值,以便打印每个标题的名称将打印分配给该标题名称的列数据。当前代码:
import pandas as pd
filepath = "...data"
df = pd.DataFrame.from_csv(filepath, header=0, index_col=None)
for i in list(df):
print i
i = str(i)
i = df[i]
print(cal_z)
结果:
C:\...TFS_plot.py"
wavelength (nm)
Mix1_p
Ccal_p
Mix1_zero
Cal_zero
Mix_deriv
Cal_deriv
Unnamed: 7
Mix1_raw
Cal_rawzero
Mix1_rawderiv
Traceback (most recent call last):
File "C:\....TFS_plot.py", line 14, in <module>
print(cal_z)
NameError: name 'Mix1_p' is not defined
我将迭代器分配给变量 df[i] 的方式有问题吗?
示例数据:
cat dog
3 1
2 2
1 4
print dog
结果:
(1,2,4)
【问题讨论】:
-
您能具体说明您的问题吗?你到底想做什么?目前
i = df[i]将该列分配给i,但之后您没有使用i,因此没有任何反应。 -
即使我将 'i = df[i]' 更改为 'a = df[i]' 它仍然不起作用。
-
你的问题还不清楚,你想要的输出是什么?从您的示例中,您似乎想要创建新变量,这些变量的名称是列名,然后您希望将相应的列数据包含为列表。对吗?
-
列表或系列.. 并不重要。我通常会做'name = df['header name']'。
标签: python pandas dataframe iteration