Python pandas-将列中的布尔对象转换为布尔基元

Python pandas-将列中的布尔对象转换为布尔基元,python,pandas,boolean,Python,Pandas,Boolean,df有一个名为isInDST的列,它是布尔对象类型 df.isInDST 0 True 1 True 2 True 3 True 4 True 5 True 6 True 7 True 8 True 9 True ... ... 849350 False 849351 False 84

df
有一个名为
isInDST
的列,它是布尔对象类型

df.isInDST

0          True
1          True
2          True
3          True
4          True
5          True
6          True
7          True
8          True
9          True
...         ...  
849350    False
849351    False
849352    False
849353    False
849354    False
849355    False
849356    False
849357    False
849358    False
849359    False
Name: isInDST, Length: 849360, dtype: object
isInDST
列是通过映射函数创建的:

df['isInDST'] = pd.DatetimeIndex(df['time']).tz_localize('UTC').tz_convert('Australia/Victoria').map(lambda x : bool(x.dst().total_seconds()!=0))
我想我的问题是如何编辑map函数,使
isInDST
成为
bool
基本类型,而不是
object

只要解决您的问题

df['isInDST'] = df['isInDST'].astype('bool')
更新

df['isInDST'] = pd.DatetimeIndex(df['time']).tz_localize('UTC').tz_convert('Australia/Victoria').map(lambda x : x.dst().total_seconds()!=0)

df['isInDST']=pd.to_timedelta(df['time'])=0
?或者只
df['isInDST']=df['isInDST'].astype(bool)
。我们可以编辑映射函数来实现这一点吗?@alextc删除bool~这仍然生成bool对象。@alextc没有看到数据,简单的解决方法是
df['isInDST']=df['isInDST']。astype('bool')
我很乐意接受它。然而,在这篇文章的后面,你能帮助回答另一个问题吗?