0

我知道链接 get/set 的含义以及它可能意味着我正在处理副本这一事实。如果我使用loc(),我仍然会收到警告(没有 loc 部分,但仍然是警告)。

我有一个带有“A”列的 DF,它是一个日期,但带有一个类型字符串。

我将字符串对象转换为日期(在所有行):

X['A'] = pd.to_datetime(X['A'])

然后我将其转回以特定方式格式化的字符串。我知道我在这里绕道而行,但我想尝试一下:

X['A'] = X['user_created_date'].apply(lambda x: x.strftime("%H %w %d %m %y") if not pd.isnull(x) else '')

然后我相应地将列拆分为多列:

X[['hour','day', 'dateofm', 'month', 'year']] = X['A'].str.split(' ', expand=True)

这一切似乎都在起作用,但我明白了"A value is trying to be set on a copy of a slice from a DataFrame. Try to use loc..." warning three times.

我还尝试在分配的 LH 上创建新列,以免尝试同时获取和设置相同的列。警告仍然存在。

这样做的正确方法是什么?我想设置原始数据框。

4

0 回答 0