df1 = pd.read_excel(excel_file, sheet_name='订单数据')把里面每一行的长宽高按顺序排列
时间: 2024-01-10 12:04:06 浏览: 70
可以使用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中。
相关问题
df1 = pd.read_excel(excel_file, sheet_name='订单数据') df2 = pd.read_excel(excel_file, sheet_name='耗材数据')改错
这两行代码本身没有错误,但是缺少了导入 pandas 库的语句。正确的代码应该是:
```
import pandas as pd
df1 = pd.read_excel(excel_file, sheet_name='订单数据')
df2 = pd.read_excel(excel_file, sheet_name='耗材数据')
```
这样才能正确使用 pandas 库中的 `read_excel` 函数来读取 Excel 文件中的数据。
df1 = pd.read_excel(excel_file, sheet_name='订单数据')把里面某行的长宽高按顺序排列
假设长宽高所在的列分别为"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"列,再选择前两列,即按顺序排列。
阅读全文