Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 使用变量命名列_Pandas - Fatal编程技术网

Pandas 使用变量命名列

Pandas 使用变量命名列,pandas,Pandas,我有一个元组列表,其中包含数据帧列的所有可能组合。我想通过组合这些列的值来创建新的dataframe列 示例数据帧 d = {'c1':['a', 'b', 'c'], 'c2':['Low', 'Low', 'High'], 'c3':['True', 'True', 'False']} dd = pd.DataFrame(data=d) 长度为2的所有可能的列组合 from itertools import combinations com = list(combinations(dd.

我有一个元组列表,其中包含数据帧列的所有可能组合。我想通过组合这些列的值来创建新的dataframe列

示例数据帧

d = {'c1':['a', 'b', 'c'], 'c2':['Low', 'Low', 'High'], 'c3':['True', 'True', 'False']}
dd = pd.DataFrame(data=d)
长度为2的所有可能的列组合

from itertools import combinations 
com = list(combinations(dd.columns, 2))
它返回['c1','c2','c1','c3','c2','c3']

我想用上述组合创建新的列

例如,创建一个组合列 dd['c1+c2']=dd['c1']+'+'+dd['c2']

真正的dataframe有许多列,因此我希望通过循环遍历元组列表并使用变量作为dataframe的新列名来自动化这个过程

大概是这样的:

[dd[f'dd[i[0]] + dd[i[1]]'] = dd[i[0]] + '+' + dd[i[1]] for i in com]
其中dd[i[0]]='c1'和dd[i[1]]='c2'

我很确定我不能在数据帧列中使用f字符串,但我不知道如何使其工作。

就这样做吧

for i in com:
    dd[f'{i[0]} + {i[1]}']= dd[i[0]] + '+' + dd[i[1]] 
    
照办

for i in com:
    dd[f'{i[0]} + {i[1]}']= dd[i[0]] + '+' + dd[i[1]] 
    

类似于:类似于:新列名将成为i[0]+i[1],但我希望列名为c1+c2@Osca检查更新新列名将变为i[0]+i[1],但我希望列名为c1+c2@Osca检查更新