python - 如何将列值从一个数据框提取到另一个数据框?
问题描述
我有两个熊猫数据框 df1 和 df2
**df1** **df2**
cat id frequency id (other cols) A B C
A 23 2 23 ............. nan nan nan
A 43 8 43 ............. nan nan nan
B 23 56 30 ............. nan nan nan
C 30 4
我正在寻找一种方法来从 df1 到 df2 中提取信息,从而得到以下格式,其中 A、B 和 C 列的值是 df1 中的频率值
**df2**
id (other cols) A B C
30 .......... 0 0 4
23 .......... 2 56 0
43 .......... 8 0 0
解决方案
DataFrame.pivot
与 一起使用DataFrame.combine_first
:
df11 = df1.pivot('cat', 'id', 'frequency')
#if id is column
df = df2.set_index('id').combine_first(df11)
#if id is index
df = df2.combine_first(df11)
推荐阅读
- jmeter - 无法定位元素:{"method":"xpath","selector":"//button[contains(text(),'New patient')]"}
- python - Pandas: Plot a histogram of times in intervals of 10 minutes
- javascript - img 嵌入式 SVG 在将其转换为内联 SVG 后不会改变颜色
- dojo - Dojo 1.8.1 的支持级别
- entity-framework - 未捕获实体框架查询的扩展事件(读取/更新)
- mysql - 如何使用 GROUP BY 两次但不使用 JOIN 本身?
- ruby-on-rails - NoMethodError:未定义的方法`liquidity_manager?为了 #
- svg - gatsby image svg not found
- django - Angular - 注册用户时出现 Django REST api“错误请求”错误
- c# - How can I format a variable and make it into a string with a message and zeros in front of it?