如何在与lis匹配的序列中重新分配值

2024-06-16 13:32:41 发布

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

我有一个系列的各种名称需要重新命名。需要更改的值包含在列表中。你知道吗

change_list = ['b', 'c']
new_name = 'x'

df = pd.DataFrame([
    {'sp': 'a'},
    {'sp': 'b'},
    {'sp': 'c'},
    {'sp': 'b'},
    {'sp': 'c'}])

df[df['sp'].isin(change_list)]['sp'] = new_name

结果应该是数据帧,并将新的\u名称分配给与列表匹配的每个“sp”值。你知道吗


Tags: 数据name名称dataframedf列表newchange
3条回答
change_list = ['b', 'c']
new_name = 'x'

df = pd.DataFrame([
    {'sp': 'a'},
    {'sp': 'b'},
    {'sp': 'c'},
    {'sp': 'b'},
    {'sp': 'c'}])

df.loc[df.sp.isin(change_list), :] = new_name

只需删除['sp']:)

change_list = ['b', 'c']
new_name = 'x'

df = pd.DataFrame([
    {'sp': 'a'},
    {'sp': 'b'},
    {'sp': 'c'},
    {'sp': 'b'},
    {'sp': 'c'}])

df[df['sp'].isin(change_list)] = new_name

使用df.loc(结尾不带['sp']):

df.loc[df['sp'].isin(change_list)] = new_name

相关问题 更多 >