ebo*_*osi 4 python dataframe python-3.x pandas
我有参加聚会的朋友名单:
import pandas as pd
d = {'name': ['Alice', 'Bob', 'Charlie'], 'is_here': [True, True, False]}
df = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)
问题:如何is_here根据给定名称切换布尔值?(例如,如何使toggle('Charlie')转动False到True我的数据帧?)
我可以使用布尔值获得一个状态df[df['name'] == 'Charlie'].iloc[0]['is_here'],但是我很难改变它的值df.
Charlie与xordf.loc[df.name.eq('Charlie'), 'is_here'] ^= True
df
is_here name
0 True Alice
1 True Bob
2 True Charlie
Run Code Online (Sandbox Code Playgroud)
只有一个可以成为True
Truth Tablexor
x y x ^ y
0 True True False
1 True False True
2 False True True
3 False False False
Run Code Online (Sandbox Code Playgroud)
所以:
如果x = True,x ^ True评估为False
if x = False,x ^ True评估为True
使用^=上loc,我们采取了xor与True用于切片为代表的所有元素和地方分配的结果.
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |