根据另一列中的值及其索引生成新列

Matthi9000:

在下面的df中,我想基于列“ A”和“ X”对列“ cdf_X”的值进行排序。列“ X”和“ cdf_X”已连接,因此,如果列“ A”中出现“ X”中的值,则应将“ cdf_X”的值重新定位到新列中列“ A”的索引号。(值在“ cdf_A”列中不会出现两次。)

示例:在索引0处'X'= 3->在索引0处cdf_X = 0.05->'3'出现在索引4的'A'列中->索引4处cdf_A =索引0处cdf_X

初始df:

    A   X   cdf_X
0   7   3    0.05
1   4   4    0.15
2  11   7    0.27
3   9   9    0.45
4   3  11    0.69
5  13  13    1.00

所需的df:

    A   X   cdf_X   cdf_A      
0   7   3    0.05    0.27     
1   4   4    0.15    0.15
2  11   7    0.27    0.69
3   9   9    0.45    0.45
4   3  11    0.69    0.05
5  13  13    1.00    1.00

尝试过的代码:

import pandas as pd

df = pd.DataFrame({"A": [7,4,11,9,3,13],

               "cdf_X": [0.05,0.15,0.27,0.45,0.69,1.00],

                   "X": [3,4,7,9,11,13]})

df.loc[:, 'cdf_A'] = df['cdf_X'].where(df['A'] == df['X'])

print(df)
安迪(Andy L.):

我觉得你需要 replace

df['cdf_A'] = df.A.replace(df.set_index('X').cdf)

Out[989]:
    A   X   cdf  cdf_A
0   7   3  0.05   0.27
1   4   4  0.15   0.15
2  11   7  0.27   0.69
3   9   9  0.45   0.45
4   3  11  0.69   0.05
5  13  13  1.00   1.00

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据熊猫另一列中的条件生成具有值的新列

根据另一列中的值创建新列

根据与另一列最接近的TRUE值的索引对新列进行突变

根据另一列的值创建索引数最大的新列

添加新列并根据另一列中的值在列中插入值

根据 Pandas 中的另一列,使用 n 生成新列 w 值 1 到 n

根据另一列中的条件将值插入另一列中的新列中

如何根据另一列中的唯一值在列中建立索引

根据存储在另一列(熊猫)中的列索引选择列值

根据数据矩阵中的另一列生成一个新列

根据另一列熊猫的值添加新列

根据另一列的值创建新列

根据另一列的值创建新列

如何使用dplyr根据另一列的不同值在新列中填充不同的值?

pandas:根据另一列中的值获取具有相应索引的精确对应值

根据另一列中的最大值为熊猫数据框中的给定子索引创建一个新列

Python根据另一列的值(通过数字索引确定)将值分配给新列

根据另一列的值在熊猫中创建新列

是否可以根据值在另一列中更改的时间来创建新列?

根据Pandas中另一列的值添加新列(python)

使用 map() 时出错:根据另一列中的值创建新的 Pandas 列

根据另一列中的字符串值创建新列

根据r中另一列的观测值创建新列

根据列表中的另一列内容创建新的列值

根据来自另一列的值在新的dataframe列中应用函数

根据另一列中的值的最后两位数字创建新列

如何根据另一列 SQL 中的值创建具有计数值的新列

根据另一列熊猫的300条相邻行中的值创建新列

根据熊猫中另一列的值创建新列