python - 在 pandas 的列之间复制值

标签 python pandas dataframe

我有一个数据框,其中包含 Namename 列。

我正在这样做:

for i in range(len(df)):
    if (some condition):
        df['name'][i] = df['Name'][i]

但我收到此警告:

A value is trying to be set on a copy of a slice from a DataFrame

而且运行需要一段时间,这和警告有关吗?

我该怎么做?

最佳答案

您可以尝试loc :

df.loc[df['name'].notnull() , 'Name'] = df['name']

SettingWithCopyWarning 的很好的解释.

一般来说:

df.loc[some condition , 'Name'] = df['name']

关于python - 在 pandas 的列之间复制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34515720/

相关文章:

java - 有什么办法可以在后台运行Python模型吗?

python - 合并数据框的特定行并删除未使用的行

python - 使用 DataFrame loc 时出现“标签 [1] 不在 [索引] 中”错误

python将列中的字符串重命名为指定字符串

python - 当 Python 中不再显示唯一 ID 时标记大型数据集

python - 分组行 python pandas

python - 是否可以将 plotly 表保存为 png?

python - 如何识别 boolean 数组中的值序列?

python - 为什么 Python 经常将异常类型和值(exc_info、__exit__ 等)分开?

python - 将文本格式的固定宽度表格转换为dataframe/excel/csv