我如何替换'每行的DateTime列中的值?
在我的数据框中,我有两列:“release_date”和“release_year”,
我尝试将每个“release_date”实例中的年份值替换为“release_year”中的相应值,
我尝试了以下
df.loc[: , 'release_date'] = df['release_date'].apply(lambda x: x.replace(x.year == df['release_year']))
但是我我收到错误:“值必须是整数,收到
,release_date 列存储为 datetime64[ns]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要在此处使用
pandaframe.dataframe.apply
而不是pandas.series.pandas.series.apply
作为您需要来自其他列的数据,请考虑以下简单示例示例输出
注释
axis = axis = axis = 1
将均值函数应用于每一行,您将行(pandas.Series
)作为该函数的参数You need to use
pandas.DataFrame.apply
here rather thanpandas.Series.apply
as you need data from other column, consider following simple exampleoutput
Note
axis=1
which mean function is applied to each row and you got row (pandas.Series
) as argument for that function转换为字符串然后解析为日期时间在这里更有效;如果你问我的话,也更具可读性。前任:
casting to string then parsing to datetime is more efficient here; and also more readable if you ask me. Ex: