Python根据另一个数据框中的列值匹配列名

B队

抱歉,如果这是某种形式的重复,我看了20个不同的问题,但没有一个对我有帮助。如果有人可以指出要回答我的问题,我会很乐意删除我的问题。

我有两个数据框,第一个被称为df_full各种列的长列表,其中一个被称为“行业”,并且具有各种行业的字符串。df_full['Industry'].head()是:

指数 行业
0 服务
1个 服务
2 贸易方式
3 服务
4 制造业

我的第二个数据帧称为df_industry,并具有基于每个行业的分位数。df_industry['profit_sales']是:

行业
金融 0.25 0.025616
0.50 0.219343
0.75 0.410408
制造业 0.25 -0.012373
0.50 0.002032
0.75 0.010331
服务 0.25 -0.012660
0.50 0.003375
0.75 0.064102
贸易方式 0.25 -0.102178
0.50 0.001715
0.75 0.018705
运输 0.25 -0.042755
0.50 -0.042755
0.75 0.056487

我正在尝试根据色谱柱行业的数据为我的第一个具有0.5分位数的数据框创建一个新色谱柱。

因此,我的新输出表应如下所示: df_full[['Industry','quantile_05']].head()

指数 行业 分位数_05
0 服务 0.003375
1个 服务 0.003375
2 贸易方式 0.001715
3 服务 0.003375
4 制造业 0.002032

我目前尝试无济于事: df_full['quantile_05'] = df_full.apply(lambda x: df_industry['profit_sales'][df_full['Industry'][x]][0.5] ,axis=1)

广晃

您似乎可以制作地图:

df_full['quantile_05'] = df_full['Industry'].map(df_industry['profit_sales'].unstack()[0.5])

输出:

             Industry  quantile_05
INDEX                             
0             Service     0.003375
1             Service     0.003375
2               Trade     0.001715
3             Service     0.003375
4       Manufacturing     0.002032

如果您想要所有三个分位数,则可以merge按照Kyle的建议进行:

df_full.merge(df_industry['profit_sales'].unstack(),
          left_on=['Industry'], 
          right_index=True,
          how='left')

输出:

             Industry      0.25       0.5      0.75
INDEX                                              
0             Service -0.012660  0.003375  0.064102
1             Service -0.012660  0.003375  0.064102
2               Trade       NaN  0.001715  0.018705
3             Service -0.012660  0.003375  0.064102
4       Manufacturing -0.012373  0.002032  0.010331

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据匹配的值,使用另一个数据框中的值更新一个数据框中的列

来自分类Dev

根据另一个数据框python熊猫替换列值-更好的方法?

来自分类Dev

根据另一个数据框中的值对一个数据框进行子集

来自分类Dev

根据另一个数据框的行值在数据框中添加新列

来自分类Dev

根据dplyr与另一个数据框的匹配来更改数据框中的列名称

来自分类Dev

根据另一个数据集中的列值在一个数据框中创建列

来自分类Dev

根据条件从另一个数据框中复制列值

来自分类Dev

根据另一个数据框中的匹配ID替换数据框列值

来自分类Dev

根据另一个数据框计算数据框中的列值

来自分类Dev

尝试将一个数据框中的值与另一个数据框中的值进行匹配(python)

来自分类Dev

根据匹配其他列与另一个数据框的值来填充数据框的缺失值,同时保持不匹配的值

来自分类Dev

根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

来自分类Dev

根据与另一个数据框的匹配在数据框中创建新列

来自分类Dev

根据另一个数据框的值插值列的缺失值

来自分类Dev

根据条件为另一个数据框的数据框列设置值

来自分类Dev

根据另一个数据框中的值将列添加到数据框中

来自分类Dev

Python根据另一个数据框值中存在的列索引填充数据框值

来自分类Dev

根据id列中的公共值从另一个数据框中减去数据框的行

来自分类Dev

根据python中另一个数据框的2列过滤数据框

来自分类Dev

根据另一个数据框的匹配列删除随机的行数

来自分类Dev

Python根据另一个数据框中的列值匹配列名

来自分类Dev

根据另一个数据框的值删除一个数据框的行和列

来自分类Dev

根据另一个数据框中的匹配数据更新一个数据框中的值

来自分类Dev

Python Pandas:根据另一个数据框的类别值创建新列

来自分类Dev

熊猫:根据另一个数据框中的值在数据框中添加新列

来自分类Dev

根据另一个数据框替换一个数据框中的列中的多个值

来自分类Dev

根据另一个数据框中的日期过滤数据框中的值

来自分类Dev

Python:如何从数据框中行查找数据并根据列匹配在另一个数据框中相乘

来自分类Dev

如何根据R中另一个数据框中的匹配值转换值?

Related 相关文章

  1. 1

    根据匹配的值,使用另一个数据框中的值更新一个数据框中的列

  2. 2

    根据另一个数据框python熊猫替换列值-更好的方法?

  3. 3

    根据另一个数据框中的值对一个数据框进行子集

  4. 4

    根据另一个数据框的行值在数据框中添加新列

  5. 5

    根据dplyr与另一个数据框的匹配来更改数据框中的列名称

  6. 6

    根据另一个数据集中的列值在一个数据框中创建列

  7. 7

    根据条件从另一个数据框中复制列值

  8. 8

    根据另一个数据框中的匹配ID替换数据框列值

  9. 9

    根据另一个数据框计算数据框中的列值

  10. 10

    尝试将一个数据框中的值与另一个数据框中的值进行匹配(python)

  11. 11

    根据匹配其他列与另一个数据框的值来填充数据框的缺失值,同时保持不匹配的值

  12. 12

    根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

  13. 13

    根据与另一个数据框的匹配在数据框中创建新列

  14. 14

    根据另一个数据框的值插值列的缺失值

  15. 15

    根据条件为另一个数据框的数据框列设置值

  16. 16

    根据另一个数据框中的值将列添加到数据框中

  17. 17

    Python根据另一个数据框值中存在的列索引填充数据框值

  18. 18

    根据id列中的公共值从另一个数据框中减去数据框的行

  19. 19

    根据python中另一个数据框的2列过滤数据框

  20. 20

    根据另一个数据框的匹配列删除随机的行数

  21. 21

    Python根据另一个数据框中的列值匹配列名

  22. 22

    根据另一个数据框的值删除一个数据框的行和列

  23. 23

    根据另一个数据框中的匹配数据更新一个数据框中的值

  24. 24

    Python Pandas:根据另一个数据框的类别值创建新列

  25. 25

    熊猫:根据另一个数据框中的值在数据框中添加新列

  26. 26

    根据另一个数据框替换一个数据框中的列中的多个值

  27. 27

    根据另一个数据框中的日期过滤数据框中的值

  28. 28

    Python:如何从数据框中行查找数据并根据列匹配在另一个数据框中相乘

  29. 29

    如何根据R中另一个数据框中的匹配值转换值?

热门标签

归档