gpt4 book ai didi

python - 如何将值从 1 列分配给另一列并在 Pandas 中发出警告

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:11 25 4
gpt4 key购买 nike

我有一个包含 56 列的 pandas DF。其中 2 列(X 和 Y)为空,我想复制存储在同一个 DF 中的 2 个不同列中的值。现在,我设法做到了,但我收到警告:

试图在 DataFrame 的切片副本上设置一个值。尝试使用 .loc[row_indexer,col_indexer] = value 代替

我也试过这个版本,但仍然收到警告。到目前为止,这是我的语法:

subset = df[(df.Longitude.isnull()) & (df.Latitude.isnull())]
subset.Longitude = subset.x2
subset.Latitude = subset.y2

关于如何在没有收到警告通知的情况下执行此操作的想法?谢谢。

最佳答案

填充

这就是你应该做的。将字典传递给 fillna,指定用什么填充每一列。字典的键映射到列名。因此,在下面,用 df.x2 中的相应值填充 'Longitude' 列的缺失值。

df.fillna({'Longitude': df.x2, 'Latitude': df.y2})

位置

但要回答您的问题并排除任何其他问题。

mask = df.Longitude.isna() & df.Latitude.isna()
df.loc[mask, ['Longitude', 'Latitude']] = df.loc[mask, ['x2', 'y2']].to_numpy()

不是很有用

因为大多数人觉得这很难阅读

mask = df.Longitude.isna() & df.Latitude.isna()
df.loc[mask, 'Longitude'], df.loc[mask, 'Latitude'] = map(df.get, ['x2', 'y2'])

df

关于python - 如何将值从 1 列分配给另一列并在 Pandas 中发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56977605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com