对包含字典的数据帧列执行字典操作



我的一个数据帧df1有一个列WR,每行都有一个字典 -

WR
----
{'M-NET':1, 'C-VTR':2, 'I-INK':9}
{'H-NKG':6, 'M-NET':2, 'C-VTR':2}
{'N-NOC':7, 'I-INK':4}
{'L-TKP':4, 'C-VTR':3, 'H-NKG':3, 'M-NET':9}
{'M-NET':1, 'C-VTR':4}

如何对此行执行字典操作。例如。我想制作另一列,其中包含每行WR中的键数。或者,我想得到这个字典的所有值的总和。

我试过了——

df1['WR#'] = df1['WR'].apply(lambda x: len(x.to_dict().values()))

df1['WR#'] = len(df1['WR'].str.split(', '))

但这些对我不起作用。

我需要一列WR#给我

3
3
2
4
2

如果您需要长度,请尝试使用

df['WR'].str.len()
0    3
1    3
2    2
3    4
4    2
dtype: int64

如果您需要sum

pd.DataFrame(df['WR'].tolist()).sum(1)
0    12.0
1    10.0
2    11.0
3    19.0
4     5.0
dtype: float64

最新更新