在np.select系列中使用DateTime有问题。假设您有一个DataFrame: dateframe‘’id‘、'FLOAT’、‘DATE2 1’、'DATE2‘
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**.**,否则它们不能存储在单个数组中。
提前谢谢。
发布于 2021-07-01 22:25:47
当您有一个条件创建两个相互排斥的组时,请使用np.where:
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数据类型存在问题。
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']]))
dataframehttps://stackoverflow.com/questions/68217404
复制相似问题