python - 用修改后的 .copy() 行替换原始 DataFrame 的行:将 .copy() 结果与原始 DataFrame 合并
问题描述
我使用 .copy()(名为 'df_copy')获取了一个大型 DataFrame(称为 'df')的一部分,并应用了某些函数来创建一个新列“Category”。
但是,我还给了“df”一个名为“Category”的列,并为该列分配了一些其他值。“df_copy”中的所有其他值/列与“df”中它们各自的值/列相同:唯一的区别是“类别”列。
为了理解,
原始数据帧:
- df 是 100 行,3 列。
- df_copy 是 df 的 5 行,具有相同的列。
处理后:
- df 是 100 行,有 4 列(新列是“类别”),其中 5 行的“类别”列具有“NaN”
- df_copy 是 5 行 4 列,新列是“类别”,其值不在 df 中。
基本上,我想用来自 df_copy 的当前后处理行替换我从 df 获取的行(原始 df_copy DataFrame 中的行)。
我尝试了不同形式的合并:
- 左合并,不指定“开”:最初复制到 df_copy 中的行的类别列的结果为“NA”
- 右合并,不指定'on':和df_copy一样
- 左合并,在 df 和 df_copy 之间没有变化的一列上(例如,“Number”):每一列都是重复的:“Number_x”、“Number_y”、“Category_x”、“Category_y”。
解决方案
您是否尝试过使用 df.where()?
df = df.where(df['Category'].isna(), df_copy)
推荐阅读
- c++ - 为什么对相同常量的引用在 C++ 中占用不同的内存空间?
- r - 在 R 中设置和保存 netcdf
- r - 调用 rsconnect::setAccount 时出现 curl 错误
- jquery - 在 Tempus Dominus 中使用 viewDate 函数设置日历值
- angular - 用于过滤数组的 Angular 自定义管道
- python - 如何实现碰撞检测?
- powershell - 为什么从 Powershell switch 语句中的变量进行奇怪的赋值?
- reactjs - React Native 如何在应用程序中保存图像?
- c - 构建 FreeRDP 并安装错误:字段“des3_ctx”的类型不完整
- linux - 恢复无限嵌套/递归的 tmux 会话?