python - 对于 pandas 数据框中的特定单元格,删除列表的元素

标签 python list python-3.x pandas

所以我使用 python 3 并将 pandas 导入为 pd,并且我有一个数据框 df,其元素是整数列表。我正在尝试编写一个函数,该函数将从数据帧的特定单元格中的列表中删除元素。

我拥有的是:

def eliminate(r,c,v):
    '''for row r and column c eliminate value v'''
    df[c][r].remove(v)

但是,当我运行该函数时,它会从每个单元格的列表中删除 v 。我不确定这里出了什么问题。

最佳答案

您可以使用loc用于选择和交换 cr:

def eliminate(r,c,v):
    '''for row r and column c eliminate value v'''
    df.loc[r, c].remove(v)
    return df

示例:

df = pd.DataFrame({'A':[[1,2,3],[3,4]],
                   'B':[[4,5],[6, 3]]})

print (df)
           A       B
0  [1, 2, 3]  [4, 5]
1     [3, 4]  [6, 3]

def eliminate(r,c,v):
    '''for row r and column c eliminate value v'''
    #another solution
    #df.loc[r, c] = [x for x in df.loc[r, c] if x != v]
    df.loc[r, c].remove(v)
    return df

print (eliminate(0,'A',2))
        A       B
0  [1, 3]  [4, 5]
1  [3, 4]  [6, 3]

print (eliminate(1,'B',3))
        A       B
0  [1, 3]  [4, 5]
1  [3, 4]     [6]

关于python - 对于 pandas 数据框中的特定单元格,删除列表的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41523090/

相关文章:

java - 在 JSTL 中显示列表元素 <c :/forEach> with counter variable

python - 具有可变成员的列表列表的产品

python - Unicode解码错误: 'gbk' codec can't decode bytes

python - 根据所选键比较 2 个字典列表,无需 for 循环

python - 将二进制字符串转换为二进制文字

python-3.x - 如何将 Azure-cli 命令的输出保存在变量中

python - 如何将 Pandas 数据框从基于字符串的分类列转换为数字表示

python - 使用 INSERT IGNORE 的 SQLAlchemy session 查询

python - 如何使用 bool 开关更新 Dash 中的图形?

python - Sympy:如何计算矩阵相对于向量场的李导数