作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下所示的数据框:
ORG SURVEY_DATE NOS
Asset Management 2018-04-23 1.0
Asset Management 2018-05-08 1.0
Asset Management 2018-10-29 1.0
CIO 2018-11-08 1.0
CIO 2018-11-13 2.0
我想把它转换成这样的字典。
{
"Asset Management": {
"2019-03-30": 50,
"2019-03-31": 40,
"2019-04-01": 20,
"2019-04-02": 30
},
"CIO": {
"2019-03-30": 10,
"2019-03-31": 20,
}
}
最佳答案
好的,我更新了我的答案。哇!现在可以了。
In [9]: df
Out[9]:
ORG SURVEY_DATE NOS
0 Asset Management 2018-04-23 1.0
1 Asset Management 2018-05-08 1.0
2 Asset Management 2018-10-29 1.0
3 CIO 2018-11-08 1.0
4 CIO 2018-11-13 2.0
In [10]: df.groupby('ORG').apply(lambda x: dict(zip(x['SURVEY_DATE'],x['NOS']))).to_dict()
Out[10]:
{'Asset Management': {'2018-04-23': '1.0',
'2018-05-08': '1.0',
'2018-10-29': '1.0'},
'CIO': {'2018-11-08': '1.0', '2018-11-13': '2.0'}}
说明:如果您有 2 个或更多迭代,您可以使用 zip
同时循环遍历它们:
x = [1,2,3]
y = [4,5,6]
for i,j in zip(x, y):
print(i, j) # (1,4), (2,5), (3,6)
我是 creating a dictionary from a tuple .此外,lambda
只是任何一个线性函数定义的简写:
foo = lambda x: x+1
# equivalent
def foo(x):
return x+1
关于python - 如何将数据框转换为嵌套字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55713569/
我是一名优秀的程序员,十分优秀!