我正在处理数据表,我需要根据另一列的值属于哪个类创建一个新列。
这是原始表:
ID sequence
AJ8 2
FT7 3
JU4 5
ER2 3
LI5 2
FR2 7
WS1 8
UG4 9
范围是2、3、4、6:首先; 1,5,0:秒;和7,8,9:第三。
我创建了变量
first = ['2', '3', '4', '6']
second = ['1', '5', '0']
third = ['7', '8', '9']
我想得到下表
ID sequence code
AJ8 2 FIRST
FT7 3 FIRST
JU4 5 SECOND
ER2 3 FIRST
LI5 2 FIRST
FR2 7 THIRD
WS1 8 THIRD
UG4 9 THIRD
我该怎么做?
答案 0 :(得分:1)
我将创建一个有条件地返回所需值的函数。
import pandas as pd
keys = ['AJ8', 'FT7', 'JU4', 'ER2', 'LI5', 'FR2', 'WS1', 'UG4']
values = [2, 3, 5, 3, 2, 7, 8, 9]
df = pd.DataFrame(list(zip(keys, values)), columns =['key', 'value'])
def get_new_column(df):
if df['value'] in [2, 3, 4, 6]:
return 'first'
elif df['value'] in [1, 5, 0]:
return 'second'
elif df['value'] in [7, 8, 9]:
return 'third'
else:
return ''
df['new'] = df.apply(get_new_column, axis=1)
print(df)
输出:
key value new
0 AJ8 2 first
1 FT7 3 first
2 JU4 5 second
3 ER2 3 first
4 LI5 2 first
5 FR2 7 third
6 WS1 8 third
7 UG4 9 third
这里有更多examples。