Словарные операции над столбцом данных, содержащим словарь - PullRequest
0 голосов
/ 03 апреля 2019

Один из моих фреймов данных 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 Ответ

1 голос
/ 03 апреля 2019

Если вам нужна длина, попробуйте с

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...