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')
我很乐意接受它。然而,在这篇文章的后面,你能帮助回答另一个问题吗?