python - Python嵌套循环熊猫数据框
问题描述
我有一个熊猫数据框。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([['2021-09-01', 88], ['2021-09-02', 55]]),
columns=['Date', 'Hours'])
我想构建多个 JSON 有效负载以根据 Dataframe 值调用外部 API。我目前正在尝试使用 Python 循环。
payload = {
"day": '2021-09-01',
"shopCapacity": 88
}
payload = {
"day": '2021-09-02',
"shopCapacity": 55
}
使用..
for date in df['Date']:
for hours in df['Hours']:
payload = {"day": date,
"shopCapacity": hours
}
print(payload)
给我..
{'day': '2021-09-01', 'shopCapacity': '88'}
{'day': '2021-09-01', 'shopCapacity': '55'}
{'day': '2021-09-02', 'shopCapacity': '88'}
{'day': '2021-09-02', 'shopCapacity': '55'}
我想...
{'day': '2021-09-01', 'shopCapacity': '88'}
{'day': '2021-09-02', 'shopCapacity': '55'}
我知道嵌套循环给了我不想要的输出,但我找不到获得我需要的值的方法.. +
解决方案
尝试:to_dict
_orient='records'
>>> df.to_dict('records')
[{'Date': '2021-09-01', 'Hours': '88'}, {'Date': '2021-09-02', 'Hours': '55'}]
>>>
您的代码不起作用的原因是因为您没有压缩值,而是迭代它们以创建组合,因此对于您的代码尝试:
for date, hours in zip(df['Date'], df['Hours']):
payload = {"day": date,
"shopCapacity": hours}
print(payload)
输出:
{'day': '2021-09-01', 'shopCapacity': '88'}
{'day': '2021-09-02', 'shopCapacity': '55'}
推荐阅读
- python - matplotlib yaxis 乱序
- java - onResume 重新开始播放背景音乐不起作用
- c# - 仅在 EF Core 中为“true”创建唯一约束
- python - 如何为 python 脚本测试系统(使用 stdio)实现服务器?
- python - 如何过滤 JSON 数据?
- python-3.x - 微调预训练的 InceptionResnetV2
- java - “mvn clean install”和“mvn clean verify install”有什么区别?
- java - Java Spring:如何使用@RequestBody POST JSON 对象
- bash - 如何在case语句中分配和使用变量中的多个值?
- google-apps-script - 如何将谷歌电子表格连接到我的 MariaDB?