【发布时间】:2021-01-20 02:25:47
【问题描述】:
我正在尝试使用 for 循环为数据框创建自定义列标题名称。目前我正在使用两个 for 循环来遍历数据帧,但不知道如何在不硬编码的情况下放入新的列标题。我有
df = pandas.DataFrame({
'A':[5,3,6,9,2,4],
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],})
result = []
for i in range(len(df.columns)):
SelectedCol = (df.iloc[:,i])
for c in range(i+1, len(df.columns)):
result.append(((SelectedCol+1)/ (df.iloc[:,c]+1)))
df1 = pandas.DataFrame(result)
df1=df1.transpose()
在df中,取第一列并乘以第二、第三和第四列。然后代码采用第二个,并将其乘以第三个和第四个,并在 for 循环中继续,因此输出列是 'AB'、'AC'、'AD'、'BC'、'BD'和'CD '。
我可以在我的 for 循环中添加什么来提取列名,以便 df1 的每个列名可以是 'Long A, Short B' , 'Long A, Short C'.... 最后是 'Long C, Short D'
感谢您的帮助
【问题讨论】:
标签: python pandas loops for-loop