df.to_dict(orient=‘records‘)

`df.to_dict(orient='records')`  是 Pandas DataFrame 对象的一个方法,用于将 DataFrame 转换为一个字典列表。

参数  `orient`  是可选的,用于指定返回的字典的格式。常用的  `orient`  参数取值包括:
-  `'dict'` :默认值,返回一个字典,其中键是列标签,值是对应的列值。
-  `'list'` :返回一个列表,其中每个元素是一个字典,表示 DataFrame 的一行数据。
-  `'series'` :返回一个字典,其中键是列标签,值是对应的列值组成的 Series 对象。
-  `'split'` :返回一个字典,其中键是  `'index'`  和  `'columns'` ,值是对应的索引和列标签组成的列表。
-  `'records'` :返回一个列表,其中每个元素是一个字典,表示 DataFrame 的一行数据。每个字典的键是列标签,值是对应的行值。

以下是一个例子,说明如何使用  `to_dict(orient='records')`  方法:

import pandas as pd

data = {'Name': ['John', 'Emma', 'Mike'],
        'Age': [25, 28, 30],
        'City': ['New York', 'London', 'Paris']}

df = pd.DataFrame(data)

DataFrame  df  包含三列数据:'Name'、'Age' 和 'City'。每列对应的数据如上所示。

Name  Age      City
0  John   25  New York
1  Emma   28    London
2  Mike   30     Paris

records = df.to_dict(orient='records')
print(records)


输出结果为:

[{'Name': 'John', 'Age': 25, 'City': 'New York'},
 {'Name': 'Emma', 'Age': 28, 'City': 'London'},
 {'Name': 'Mike', 'Age': 30, 'City': 'Paris'}]


以上示例中,DataFrame  `df`  包含三列数据:'Name', 'Age', 'City'。通过调用  `to_dict(orient='records')`  方法,将 DataFrame 转换为一个字典列表  `records` ,其中每个元素表示 DataFrame 的一行数据。每个字典的键是列标签,值是对应的行值。

# 导入pandas库 import pandas as pd # 读取excel文件的两个sheet sheet1 = pd.read_excel("对照组.xlsx", sheet_name="idle_transition_probability") sheet2 = pd.read_excel("对照组.xlsx", sheet_name="hexagon_grid_table") # 把sheet转换成字典列表 sheet1 = sheet1.to_dict(orient="records") sheet2 = sheet2.to_dict(orient="records") # 创建一个空的字典,用来存储区域id和坐标的对应关系 area_dict = {} # 选择sheet1的第2列和第3列 sheet1 = sheet1.iloc[:, [1, 2]] # 把sheet1的第2列和第3列的数据转换成列表 start_area_list = sheet1.iloc[:, 0].tolist() end_area_list = sheet1.iloc[:, 1].tolist() # 用zip函数把两个列表组合成一个迭代器 area_pairs = zip(start_area_list, end_area_list) # 用for循环遍历每一对上下车地点所在区域的id for start_area, end_area in area_pairs: # 根据id从字典中获取对应的坐标 start_coord = area_dict[start_area] end_coord = area_dict[end_area] # 遍历sheet2,把区域id作为键,坐标作为值,存入字典中 for row in sheet2: area_id = row["格子ID"] longitude = row["中心经度"] latitude = row["中心维度"] area_dict[area_id] = (longitude, latitude) # 创建一个空的列表,用来存储每个时间段的曼哈顿距离 distance_list = [] # 计算两个坐标之间的x轴距离和y轴距离 x_distance = abs(end_coord[0] - start_coord[0]) y_distance = abs(end_coord[1] - start_coord[1]) # 计算两个坐标之间的曼哈顿距离,并添加到列表中 manhattan_distance = x_distance + y_distance distance_list.append(manhattan_distance) # 创建一个空的DataFrame df = pd.DataFrame() # 把列表添加到DataFrame中,指定列名 df["曼哈顿距离"] = distance_list # 把DataFrame保存到Excel文件中,指定文件名和sheet名 df.to_excel("result.xlsx", sheet_name="result")请你帮我修改一下
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ゆきな

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值