包含字典的数据框列上的字典操作

时间:2019-04-03 02:17:59

标签: python-3.x pandas dataframe

我的一个数据框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

1 个答案:

答案 0 :(得分:1)

如果您需要长度,请尝试

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