[{'category': 'A', 'maxvalue': '6', 'minvalue': '0'}, {'category': 'B', 'maxvalue': '11', 'minvalue': '6'}, {'category': 'C', 'maxvalue': '21', 'minvalue': '11'}, {'category': 'D', 'maxvalue': '31', 'minvalue': '21'}, {'category': 'E', 'maxvalue': '41', 'minvalue': '31'}, {'category': 'F', 'maxvalue': '9999999999', 'minvalue': '41'}]
我想要的DataFrame格式如下
A B C D E F
0-6 6-11 11-21 21-31 31-41 41-51
发布于 2022-09-05 11:38:16
您需要将数据重新格式化为列名和值的字典。
data = [{'category': 'A', 'maxvalue': '6', 'minvalue': '0'}, {'category': 'B', 'maxvalue': '11', 'minvalue': '6'}, {'category': 'C', 'maxvalue': '21', 'minvalue': '11'}, {'category': 'D', 'maxvalue': '31', 'minvalue': '21'}, {'category': 'E', 'maxvalue': '41', 'minvalue': '31'}, {'category': 'F', 'maxvalue': '9999999999', 'minvalue': '41'}]
values = { d['category'] : [f"{d['minvalue']}-{d['maxvalue']}"] for d in data }
df = pd.DataFrame(values)
print(df)
输出:
A B C D E F
0 0-6 6-11 11-21 21-31 31-41 41-9999999999
发布于 2022-09-05 11:43:07
L = [{'category': 'A', 'maxvalue': '6', 'minvalue': '0'}, {'category': 'B', 'maxvalue': '11', 'minvalue': '6'}, {'category': 'C', 'maxvalue': '21', 'minvalue': '11'}, {'category': 'D', 'maxvalue': '31', 'minvalue': '21'}, {'category': 'E', 'maxvalue': '41', 'minvalue': '31'}, {'category': 'F', 'maxvalue': '9999999999', 'minvalue': '41'}]
df = pd.DataFrame()
for i in reversed(L):
df.insert(0, i.get("category"), [i.get("minvalue")+'-'+i.get("maxvalue")])
输出:
A B C D E F
0 0-6 6-11 11-21 21-31 31-41 41-9999999999
https://stackoverflow.com/questions/73608636
复制相似问题