|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
下面代码与我预期不对,请大师帮忙,谢谢
import pandas as pd
shtcode = ['005119','005669']
df = pd.DataFrame(0, index=shtcode, columns=shtcode)
df.reset_index(inplace=True)
for index, row in df.iterrows():
a = row[index]
for b in df.columns:
print(a)
print(b)
#print(df)
我的预期是:a是第一列的每行的值,b是第二列开始的列名
005119
005119
005119
005669
005669
005119
005669
005669
你需要将 `a = row[index]` 改为 `a = row[df.columns[0]]`。因为在 `df.iterrows()` 循环中 `index` 表示 DataFrame 的行号,而 `row` 表示该行的数据,所以你需要使用 `df.columns[0]` 表示第一列的列名。同时,`row[index]` 会访问行中的元素,而你需要访问列中的元素。
以下是纠正后的代码:
import pandas as pd
shtcode = ['005119','005669']
df = pd.DataFrame(0, index=shtcode, columns=shtcode)
df.reset_index(inplace=True)
for index, row in df.iterrows():
a = row[df.columns[0]]
for b in df.columns[1:]:
print(a)
print(b)
#print(df)
|
|