如何使用dataframe中列中的字符串更改True/False?

2024-04-19 00:27:54 发布

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

我试图用一些字符串值转换特定列中的真/假值,但它不会出现。我该怎么办?True/False是布尔值

例如:

df1:

col1  col2  col3
Ram   shyam True
axa   moh   False
sur   ami   True

预期产出:

df:

col1  col2  col3
Ram   shyam right
axa   moh   False
sur   ami   right

3条回答

试试这个:

df["col3"] = df["col3"].apply(lambda x: "right" if x==True else False)

您可以使用如下简单的^{}命令:

In [1546]: df['col3'] = df['col3'].replace({True:'right'})
In [1547]: df
Out[1546]: 
  col1   col2   col3
0  Ram  shyam  right
1  axa    moh  False
2  sur    ami  right

您可以使用np.where

import pandas as pd, numpy as np

dct = {"col1": ["Ram", "axa", "sur"],
       "col2": ["shyam", "moh", "ami"],
       "col3": [True, False, True]}
df1 = pd.DataFrame.from_dict(dct)

df1['col3'] = np.where(df1['col3'] == True, 'right', 'False')
print(df1)

这就产生了

  col1   col2   col3
0  Ram  shyam  right
1  axa    moh  False
2  sur    ami  right

注意,这将col3列的类型从bool更改为object

相关问题 更多 >