如何更改特定列的特定行的值,以及在同一数据框中以熊猫为单位的特定行的值

什么时候

我有以下数据框

import pandas as pd


       dt = pd.DataFrame({'id_resp':[1,2,3,4,1,2],
                       'country':['a','a','a','a','b','b'],
                       'variable_1':[0,0,0,0,4,8],
                       'variable_2': [2, 3, 4, 5, 14, 18],
                       'variable3': [1, 1, 1, 1, 2, 2]})

我想改变的值variable_1,并variable_2id_resps中country a那个也是country b,随着价值观variable_1variable_2分别的id_resp是在B国小号

我得到的数据框应该像

  dt_f = pd.DataFrame({'id_resp':[1,2,3,4,1,2],
                           'country':['a','a','a','a','b','b'],
                           'variable_1':[4,8,0,0,4,8],
                           'variable_2': [14, 18, 4, 5, 14, 18],
                           'variable3': [1, 1, 1, 1, 2, 2]})

有没有这样做的pythonic方法(也可以选择variable_1variable_2使用regex)?

耶斯列尔

使用DataFrame.merge与LEFT JOIN ONY过滤行,然后替换由原始的缺失值DataFrame.fillna,通过获得由最初的原始数据和最后convertm类型的列DataFrame.astypeDataFrame.dtypes

df1 = dt[dt['country'].eq('b')]
df = (dt.merge(df1, on='id_resp', how='left', suffixes=('_',''))
        .fillna(dt)[dt.columns]
        .astype(dt.dtypes))
print (df)
   id_resp country  variable_1  variable_2
0        1       b           4          14
1        2       b           8          18
2        3       a           0           4
3        4       a           0           5
4        1       b           4          14
5        2       b           8          18

编辑:如果只想用正则表达式过滤某些列,则可能的解决方案是DataFrame.filter,也有必要添加id_resp所选列:

dt = pd.DataFrame({'id_resp':[1,2,3,4,1,2],
                       'country':['a','a','a','a','b','b'],
                       'variable_1':[0,0,0,0,4,8],
                       'variable_2': [2, 3, 4, 5, 14, 18],
                       'variable3': [1, 1, 1, 1, 2, 2]})


df1 = dt[dt['country'].eq('b')].filter(regex='^variable_|id_resp')
print (df1)
   id_resp  variable_1  variable_2
4        1           4          14
5        2           8          18

df = (dt.merge(df1, on='id_resp', how='left', suffixes=('_',''))
        .fillna(dt)[dt.columns]
        .astype(dt.dtypes))
print (df)
   id_resp country  variable_1  variable_2  variable3
0        1       a           4          14          1
1        2       a           8          18          1
2        3       a           0           4          1
3        4       a           0           5          1
4        1       b           4          14          2
5        2       b           8          18          2

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取熊猫数据框中特定行和列的值

来自分类Dev

如何为熊猫数据框中的另一列中的特定值更新一行中的列值?

来自分类Dev

使用python更改特定熊猫数据框列中的行值

来自分类Dev

将数据框值与同一行中的特定列进行比较

来自分类Dev

如何从两列中获取包含特定值的熊猫数据框的行索引?

来自分类Dev

如何替换熊猫数据框中单个行和特定列的值

来自分类Dev

如何在python中为特定行值选择数据框中的列数据?

来自分类Python

根据熊猫数据框中的特定ID更改列的值

来自分类Dev

如何更改同一行中不同列的特定值?

来自分类Dev

Pandas 数据框如何根据特定组和上一行值为列赋值

来自分类Dev

熊猫-创建新列,该列的值取自同一数据框中的其他行

来自分类Dev

如何将数据框中的特定列与同一数据框中的一个特定列相乘?

来自分类Dev

如何检查同一数据框列中是否存在重复值,以及如何根据频率通过删除行来应用条件(条件)?

来自分类Dev

使用同一数据框的特定列作为参考同时填充多个列中的NaN值的最佳方法

来自分类Dev

更改熊猫中特定行的值

来自分类Dev

如何在 R 的同一数据框中为每个特定主题使用 for 循环?

来自分类Dev

使用dplyr更改特定行中数据框中的值

来自分类Dev

SQL - 将来自同一数据集的数据与特定列中的匹配值分开

来自分类Dev

从熊猫数据框中按特定列的行中检测离群值

来自分类Dev

如何用熊猫数据框中第一行和相应行之间的列平均值填充特定值

来自分类Dev

如何创建具有特定行值+同一行上的下一个值的数据框?

来自分类Dev

将数据框中的行折叠为一个特定行以填充缺失值?

来自分类Dev

从前一行和特定列的值有效更新熊猫数据框中的NaN

来自分类Dev

熊猫根据特定的列值将数据框中的行分组

来自分类Dev

从分组行中的同一列获取特定值

来自分类Dev

如何根据同一数据框其他列中的值过滤熊猫数据框中的结果?

来自分类Dev

如何对熊猫中特定行的值求和?

来自分类Dev

如何计算数据框中同一列中特定值之后的行数

来自分类Dev

如何从熊猫数据框中删除具有特定属性值的行的分数

Related 相关文章

  1. 1

    获取熊猫数据框中特定行和列的值

  2. 2

    如何为熊猫数据框中的另一列中的特定值更新一行中的列值?

  3. 3

    使用python更改特定熊猫数据框列中的行值

  4. 4

    将数据框值与同一行中的特定列进行比较

  5. 5

    如何从两列中获取包含特定值的熊猫数据框的行索引?

  6. 6

    如何替换熊猫数据框中单个行和特定列的值

  7. 7

    如何在python中为特定行值选择数据框中的列数据?

  8. 8

    根据熊猫数据框中的特定ID更改列的值

  9. 9

    如何更改同一行中不同列的特定值?

  10. 10

    Pandas 数据框如何根据特定组和上一行值为列赋值

  11. 11

    熊猫-创建新列,该列的值取自同一数据框中的其他行

  12. 12

    如何将数据框中的特定列与同一数据框中的一个特定列相乘?

  13. 13

    如何检查同一数据框列中是否存在重复值,以及如何根据频率通过删除行来应用条件(条件)?

  14. 14

    使用同一数据框的特定列作为参考同时填充多个列中的NaN值的最佳方法

  15. 15

    更改熊猫中特定行的值

  16. 16

    如何在 R 的同一数据框中为每个特定主题使用 for 循环?

  17. 17

    使用dplyr更改特定行中数据框中的值

  18. 18

    SQL - 将来自同一数据集的数据与特定列中的匹配值分开

  19. 19

    从熊猫数据框中按特定列的行中检测离群值

  20. 20

    如何用熊猫数据框中第一行和相应行之间的列平均值填充特定值

  21. 21

    如何创建具有特定行值+同一行上的下一个值的数据框?

  22. 22

    将数据框中的行折叠为一个特定行以填充缺失值?

  23. 23

    从前一行和特定列的值有效更新熊猫数据框中的NaN

  24. 24

    熊猫根据特定的列值将数据框中的行分组

  25. 25

    从分组行中的同一列获取特定值

  26. 26

    如何根据同一数据框其他列中的值过滤熊猫数据框中的结果?

  27. 27

    如何对熊猫中特定行的值求和?

  28. 28

    如何计算数据框中同一列中特定值之后的行数

  29. 29

    如何从熊猫数据框中删除具有特定属性值的行的分数

热门标签

归档