我刚开始使用Python,所以我确信这一定很简单,但是我自己仍然找不到答案。
我试图根据列名对DataFrame中的列应用不同的操作。这是一个非常简单的示例:
_controller
现在,我想做的是使用for循环遍历每列,并使用列名来找出要引用的变量。像这样:
import pandas as pd
A = 2
B = 4
df = pd.DataFrame([[1, 2],[3, 4]], columns=['A', 'B'])
columns = list(df)
换句话说,我希望将A列乘以2并将B列乘以4。问题是我不知道如何将列名“转换”为变量引用。
答案 0 :(得分:1)
通过所有可能的列值创建字典,然后通过Index.map
映射多个列:
A = 2
B = 4
d = {'A':A, 'B':B}
df = pd.DataFrame([[1, 2],[3, 4]], columns=['A', 'B'])
df = df.mul(df.columns.map(d))
print (df)
A B
0 2 8
1 6 16