求大神看下,如何才能由数字得到列名
本帖最后由 futui 于 2022-12-12 14:52 编辑data = [,
,
,
,
,
]
df = pd.DataFrame(data = data,columns=['A','B','C','D'])
#新增字母列
df["zm"] = ""
想通过B列的值(数字)得到列名(0 代表 A ,1 代表 B ,2 代表 C ,3 代表 D )
df.loc[~pd.isna(df['B']),'zm'] = df.loc[~pd.isna(df['B']),'B'] #只能求出字母列的数字,想用下句直接求报错
#df.loc[~pd.isna(df['B']),'zm'] = df.columns(df.loc[~pd.isna(df['B']),'B']) #想通过这句得到列名,但 会报错,要怎么处理?
求大神帮忙!谢谢
我还发不了相片,我的字母列应该长这样:
B
A
B
C
D 本帖最后由 cflying 于 2022-12-12 17:26 编辑
我理解已知数据组中某列有0,1,2,3,4等数据,现在是想在旁边根据对照关系匹配出一列新数据ABCD吗?
如果是,则df1是原始数据,df2是匹配关系,然后两个merge就可以出一个新数据列
如果是想根据匹配关系自动填充NA,则可以先把匹配关系map后,然后利用fillna进去就行
确实没咋理解来意思,我感觉是第一个 本帖最后由 阿奇_o 于 2022-12-12 18:13 编辑
# 空值(缺失值/异常值)一般都是先处理的,否则后面其他各种计算都可能受干扰或无法进行
df['zm'] = df.B.fillna('nan').replace(dict(zip(, 'ABCD ')))
df.zm
0 B
1 A
2 B
3
4 C
5 D
Name: B, dtype: object
页:
[1]