python - 从数据框中获取 dict 哪些行包含许多值?
问题描述
输入
df
A B
a 23
b,c 34
d,e,%f 30
目标
df_dct = {'a':23,'b':34,'c':34,'d':'30','e':'30','f':30}
详情如下:
A
作为键,B
作为值- 中的值
A
是字符串,有些按以下方式分组','
- 密钥来自 spliting
','
,应该替换 all'%'
和 space。
尝试
- 我知道使用
zip
从两个数据帧中获取 dict 但无法处理拆分。
解决方案
您可以使用df.explode()
for pandas >= 0.25
with df.to_dict()
:
In [32]: df.A = df.A.str.replace("%", "")
In [42]: df_dct = df.assign(var1=df['A'].str.split(',')).explode('var1').drop('A', 1).set_index('var1').to_dict()['B']
In [43]: df_dct
Out[43]: {'a': 23, 'b': 34, 'c': 34, 'd': 30, 'e': 30, 'f': 30}
推荐阅读
- android - 颤振 - 底部溢出像素数
- javascript - 为什么我的输入不适用于我的数据库?
- swift - 有没有办法在同一个列表行中有多个 NavigationLink
- javascript - 比较对象的 JavaScript `switch` 无法按预期工作
- python - 如何逐字阅读但将每个单词赋予一个值,并在公共空间之间赋予python中的一组数量
- .net - 连接用户后的 SignalR 系统通知
- c - C 语言:有没有办法在从华氏到摄氏度和从摄氏度到华氏度的温度之间进行选择?
- excel - 在组合框中永久添加值
- c - strtok 在深处滚动的功能
- c# - 如何在 Unity 游戏中将游戏设置保存到文件中而不返回序列化错误?