首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在np.select系列中使用DateTime系列- Pandas

在np.select系列中使用DateTime系列- Pandas
EN

Stack Overflow用户
提问于 2021-07-01 21:58:41
回答 1查看 463关注 0票数 2

在np.select系列中使用DateTime有问题。假设您有一个DataFrame: dateframe‘’id‘、'FLOAT’、‘DATE2 1’、'DATE2‘

代码语言:javascript
复制
dateframe['DATE1'] = dt.datetime.now()
dateframe['DATE2'] = dt.datetime.now()

dateframe['DATE3'] = np.select(
    [
        dateframe['FLOAT']>0,
        dateframe['FLOAT']<=0,
    ],
    [
        dateframe['DATE1'],
        dateframe['DATE2'],
    ]
)

我知道这个错误:

TypeError: DTypes 和没有通用的DType.例如,除非dtype是object**.**,否则它们不能存储在单个数组中。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-01 22:25:47

当您有一个条件创建两个相互排斥的组时,请使用np.where

代码语言:javascript
复制
dataframe['DATE1'] = dt.datetime.now()
dataframe['DATE2'] = dt.datetime.now()
dataframe['DATE3'] = np.where(dataframe['FLOAT']>0,dataframe['DATE1'],dataframe['DATE2'])
dataframe

np.select有关的错误。最初使用str()将日期存储为对象数据类型,然后再转换to_datetime()。根据错误,np.select语句中的datetime数据类型存在问题。

代码语言:javascript
复制
dataframe['DATE1'] = str(dt.datetime.now())
dataframe['DATE2'] = str(dt.datetime.now())
dataframe['DATE3'] = pd.to_datetime(np.select([(dataframe['FLOAT']>0),(dataframe['FLOAT']<=0)],
                                              [dataframe['DATE1'],dataframe['DATE2']]))
dataframe
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68217404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档