比如:已知dataframe中某一列数据有A,B,C,D,.....这些数据,现在要求新建一列,使得其中的数据是:与A,B 同一行的是 “甲”,以C,D同一行的是“乙”,其余字母对应“其他”,这样该如何编程?
A 甲
A 甲
......
B 乙
D 其他
比如:已知dataframe中某一列数据有A,B,C,D,.....这些数据,现在要求新建一列,使得其中的数据是:与A,B 同一行的是 “甲”,以C,D同一行的是“乙”,其余字母对应“其他”,这样该如何编程?
A 甲
A 甲
......
B 乙
D 其他
这是改进版
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame(['A','B','C','D','E','F','G'], columns=['col_1'])
>>> data = np.copy(df.col_1.values)
>>> data = np.where(~np.isin(data, np.array(['A','B','C','D'])), '其他', data)
>>> data = np.where(np.isin(data, np.array(['A','B'])), '甲', data)
>>> data = np.where(np.isin(data, np.array(['C','D'])), '乙', data)
>>> df['col_2'] = data
>>> df
col_1 col_2
0 A 甲
1 B 甲
2 C 乙
3 D 乙
4 E 其他
5 F 其他
6 G 其他