我有一个user_id列,其中包含不同的用户ID。 从那里我想选择某些用户ID并创建另一列以识别那些选定的用户ID属于哪个组。
对于例如用户ID" attamm1,attbmm1"属于"供应商ABC"与用户ID匹配的另一个新创建的列。
我怎么能这样做,谢谢!
#map user id
userid_list = ['attamm1', 'attbmm1']
df['Vendor ABC'] = df[df.STRUCTURALSTATUS.isin(value_list)]
输出:
答案 0 :(得分:1)
您可以使用.loc
df.loc[df.STRUCTURALSTATUS.isin(value_list), 'Vendor ABC'] = df.loc[df.STRUCTURALSTATUS.isin(value_list), 'user_id']
答案 1 :(得分:0)
Python函数示例:
def function_name(input):
#do something, example
output = input * 2
return output
我能想到的是用您想要的地图定义字典。所以
dict = {1:'A', 2:'B', 3:'C' ,4:'D' , ... , 9:'I'}
然后写一个像这样的函数
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"
- 它没有意义。
答案 2 :(得分:0)
def f(x):
x = str(x)
s = dict[x]
return s
删除旧功能定义
答案 3 :(得分:0)
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))