更改值dataframe的下一列中的值

2024-06-17 13:33:48 发布

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

我有这样的数据框。。你知道吗

   user    pwd    _message_  
0 _robin_ | usi | _I like coffee_  
1 _priya_ | ind | _I like green tea_  
2 gate    | ldn | _I like to play_  
3 _Reh_   | ksm | _I respect others_  

我有值“ksm”,我想更改它的下一列和同一行中的值。意思是我想把“我尊重别人”改成“我爱我自己”。我已经找过了,但找不到直接的方法来做这项工作。 有什么直截了当的办法吗。你知道吗


Tags: 数据messagepwdgreenlikerobincoffeeind
3条回答

使用数据帧.loc,即基于标签位置的索引器,用于按标签进行选择。这将帮助您避免“在副本上…”警告

df.loc[df.pwd=='ksm', 'message'] = 'I love myself'

可以使用df.index查找与pwd = ksm对应的行号:

rowIndx = df.index[df['pwd'] == 'ksm']

然后可以使用该索引更改该行的_message_列的值:

df['_message_'][rowIndx] = 'I love myself'

您可以对pwd进行筛选,并将常量分配给所有匹配的message元素:

df
# value before:
    user  pwd           message
0  robin  usi     I like coffee
1  priya  ind  I like green tea
2   gate  ldn    I like to play
3    Reh  ksm  I respect others

df['message'][df.pwd=='ksm'] = 'I love myself'
df
# output after
    user  pwd           message
0  robin  usi     I like coffee
1  priya  ind  I like green tea
2   gate  ldn    I like to play
3    Reh  ksm     I love myself

相关问题 更多 >