pandas基于另一个选定的列valu创建新列

2024-03-28 11:23:07 发布

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

我有一个列user_id具有不同的用户id。 从那里我想选择特定的用户id并创建另一列来标识这些选定的用户id属于哪个组。在

例如,用户id“attamm1,attbmm1”属于与用户id匹配的另一个新创建列的“Vendor ABC”。在

我怎么能做到呢,谢谢!在

#map user id
userid_list = ['attamm1', 'attbmm1']
df['Vendor ABC'] = df[df.STRUCTURALSTATUS.isin(value_list)]

输出:

expected out screenshot


Tags: 用户idmapdfvalue标识listvendor
3条回答

Python函数示例:

def function_name(input):
    #do something, example
    output = input * 2
    return output

我能想到的就是用你想要的地图定义一个字典。所以

^{pr2}$

然后写一个这样的函数

def f(x):
    x = str(x)
    s = ''
    for i in x:
       s += dict[int(i)]
    return s

在定义了这个函数之后,你可以像f(123)='ABC'那样使用它。

首先在代码中执行此操作。然后删除这一行f("attmlk1") = "CWT" and f("attctl1") = "RJ"-它没有意义。在

dict = {'attmlk1': 'CWT', 'attmmma1': 'CWT', 'attanna1': 'CWT', 'attmsl1': 'RNJ', 'kyqang1': 'RNJ'}

def f(x):
    x = str(x)
    s = dict[x]
    return s

value_list = ['attmlk1','attctl1']

df.loc[df.CREATEDBY.isin(value_list), 'Vendor'] = 
df.loc[df.CREATEDBY.isin(value_list), 'CREATEDBY']

df['Vendor'] = df['Vendor'].apply(lambda x: f(x))

key error " 'nan'

你可以用.loc

df.loc[df.STRUCTURALSTATUS.isin(value_list), 'Vendor ABC'] = df.loc[df.STRUCTURALSTATUS.isin(value_list), 'user_id']

相关问题 更多 >