根据存储在另一列中的值为列分配值

2024-04-29 15:08:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe,我想在其中基于另一列中存储的值创建一个新列。在

foo = pd.DataFrame(
    [['USA','x',1,2],
    ['Canada','y',2,4],
    ['Australia','x',3,6]], 
    columns = ('Country', 'C1','x', 'y')
)

例如,给定以下数据帧

^{pr2}$

我想创建一个新的列,比如z,但是列C1决定了z的值将从列x或列y中来。 换句话说,我想做一些

foo['z']=foo[foo['C1']]

列C1可以有28个不同值中的一个。 这个问题与注释中提到的问题不同,因为我不想根据预先存在的值来计算值,而是其中一列(在本例中为C1)中的值包含应存储在新列中的列的名称。在


Tags: columns数据名称dataframefoocountrypdc1