df1 = pd.read_excel(excel_file, sheet_name='订单数据')把里面某行的长宽高按顺序排列
时间: 2024-01-10 15:04:25 浏览: 213
假设长宽高所在的列分别为"length","width","height",你可以使用pandas的.iloc方法来按顺序选择这三列,并将它们重新赋值给dataframe,如下所示:
```
df1 = pd.read_excel(excel_file, sheet_name='订单数据')
df1 = df1.iloc[:, [2, 3, 4, 0, 1]] # 选择长宽高列并重新排列
```
这里的`[:, [2, 3, 4, 0, 1]]`表示选择所有行和第3、4、5、1、2列,即先选择"length","width"和"height"列,再选择前两列,即按顺序排列。
相关问题
df1 = pd.read_excel(excel_file, sheet_name='订单数据')把里面某行的长宽高按从大到小顺序排列
你可以使用 `sort_values()` 方法,将长宽高分别求和,然后按照和的大小进行排序。以下是示例代码:
```python
# 读取 Excel 文件
import pandas as pd
excel_file = 'your_file_path.xlsx'
df1 = pd.read_excel(excel_file, sheet_name='订单数据')
# 计算长宽高之和
df1['长宽高之和'] = df1['长'] + df1['宽'] + df1['高']
# 按照长宽高之和进行排序
df1 = df1.sort_values(by='长宽高之和', ascending=False)
# 筛选需要的列
df1 = df1[['长', '宽', '高']]
# 输出结果
print(df1)
```
这段代码会输出按照长宽高之和从大到小排列后的长、宽、高三列数据。你可以根据需要修改代码,比如更改列名、输出到 Excel 文件等。
df1 = pd.read_excel(excel_file, sheet_name='订单数据')把里面每一行的长宽高按顺序排列
可以使用pandas的apply函数和lambda表达式来实现:
```python
import pandas as pd
# 读取Excel文件
df1 = pd.read_excel(excel_file, sheet_name='订单数据')
# 定义函数对每一行的长宽高按顺序排列
def sort_dimensions(row):
dimensions = [row['长'], row['宽'], row['高']]
dimensions.sort()
return pd.Series(dimensions, index=['长', '宽', '高'])
# 应用函数到每一行
df1[['长', '宽', '高']] = df1.apply(lambda row: sort_dimensions(row), axis=1)
# 查看结果
print(df1)
```
这段代码会把每一行的长宽高按照从小到大的顺序排列,并更新到原来的DataFrame中。
阅读全文