【发布时间】:2020-07-04 18:15:28
【问题描述】:
我有以下dict 和熊猫DataFrame。
sample_dict = {'isDuplicate': {'1051681551': False, '1037545402': True, '1035390559': False},
'dateTime': {'1051681551': Timestamp('2019-01-29 09:09:00+0000', tz='UTC'),
'1037545402': Timestamp('2019-01-11 02:06:00+0000', tz='UTC'),
'1035390559': Timestamp('2019-01-08 14:35:00+0000', tz='UTC')},
'dateTimePub': {'1051681551': None, '1037545402': None, '1035390559': None}}
df = pd.DataFrame.from_dict(sample_dict)
我想将np.where() 函数应用于dateTime 和dateTimePub 列,例如:
def _replace_datetime_with_datetime_pub(news_dataframe):
news_dataframe.dateTime = np.where(news_dataframe.dateTimePub, news_dataframe.dateTimePub, news_dataframe.dateTime)
return pd.to_datetime(news_dataframe.dateTime)
df.apply(_replace_datetime_with_datetime_pub)
但我收到以下错误,
AttributeError: 'Series' object has no attribute 'dateTimePub'
可以做到df = _replace_datetime_with_datetime_pub(df)。但我的问题是,
-
如何通过
pd.DataFrame.apply或pd.DataFrame.transform方法应用此功能,以及 -
为什么会出现这个错误?
我已经检查了许多其他类似的问题,但没有一个是AttributeError。
【问题讨论】:
标签: python-3.x pandas dataframe apply