从python中的数据框中的列的值中删除某些数据

时间:2021-06-24 16:54:58

标签: python dataframe dictionary nested-lists

1.我有一个数据框,其 ID 包含 'a' 和 'b' 值作为字符串:

ID                      occ
[['a1'], ['b1']]         3
[['a2'],['a5'],['b2']]   1
[['a3'],['a6'],['b3']]   6
[['a4'], ['b4']]         2

我想从 ID 列中删除所有 'a' 值并取其余的 预期结果

ID  occ
b1   3
b2   1
b3   6
b4   2

我尝试分解 ID 列,但没有奏效。

1 个答案:

答案 0 :(得分:1)

如果你有这样的 df,你可以使用:

df = pd.DataFrame({'ID': [['a1', 'b1'], ['a2', 'b2'], ['a3', 'b3'], ['a4', 'b4']],'occ': [3, 1, 6, 2]})
df.ID = df.ID.str[1]

如果 ID 列是字符串类型,那么您可以使用正则表达式:

df.ID = df.ID.str.extract(r'(b\d+)')

输出:

   ID  occ
0  b1    3
1  b2    1
2  b3    6
3  b4    2