遍历有一张表,字段A=时间,字段B=当期价格,字段C=规格,字段D=标准,字段E=单位,根据同时间,同地区,同规格,同标准,同单位分组,根据字段B当期价格进行由小到大排序(1为最小值),将排序结果新增成新的字段,新增字段名E=排序结果,利用pandas执行
时间: 2023-05-31 09:05:49 浏览: 61
import pandas as pd
# 读取原始表格
df = pd.read_excel('原始表格.xlsx')
# 按照同时间、同地区、同规格、同标准、同单位进行分组,对当期价格进行排序
df['排序结果'] = df.groupby(['时间', '地区', '规格', '标准', '单位'])['当期价格'].rank(method='min')
# 将排序结果添加为新的字段E
df['E'] = df['排序结果']
# 保存处理结果
df.to_excel('处理结果.xlsx', index=False)
相关问题
遍历每一张表,字段A=时间,字段B=当期价格,字段C=规格,字段D=标准,字段E=单位,根据同时间,同地区,同规格,同标准,同单位分组,根据字段B当期价格进行由小到大排序(1为最小值),将排序结果新增成新的字段,新增字段名E=排序结果,利用pandas执行
以下是示例代码:
import pandas as pd
# 读取Excel文件,假设数据在Sheet1中
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 将数据按照时间、地区、规格、标准、单位分组,并按照当前价格排序
df = df.sort_values(by=['时间', '地区', '规格', '标准', '单位', '当期价格'])
# 新增一列,将排序结果作为新的字段值
df['排序结果'] = range(1, len(df) + 1)
# 将结果写入新的Excel文件中
df.to_excel('result.xlsx', index=False)
ArcGIS属性表中输入如果字段A=1,则令字段B=6,这个操作的python代码是什么
以下是实现该操作的 Python 代码:
```
import arcpy
# 输入要素类路径和输入字段名称
fc = "路径/要素类.shp"
fieldA = "字段A"
fieldB = "字段B"
# 使用 UpdateCursor 遍历要素,并修改字段值
with arcpy.da.UpdateCursor(fc, [fieldA, fieldB]) as cursor:
for row in cursor:
if row[0] == 1:
row[1] = 6
cursor.updateRow(row)
```
代码中使用了 arcpy 模块来操作 ArcGIS 数据,使用 UpdateCursor 遍历要素类,并根据字段A的值修改字段B的值。注意,需要替换代码中的“路径/要素类.shp”、“字段A”和“字段B”为实际值。
阅读全文