D:\BaiduNetdiskWorkspace\PythonToTo\venv\Scripts\python.exe "D:\BaiduNetdiskWorkspace\PythonToTo\0000 其他用途命令\匹配单元格数据.py" Traceback (most recent call last): File "D:\BaiduNetdiskWorkspace\PythonToTo\0000 其他用途命令\匹配单元格数据.py", line 9, in <module> result = pd.merge(df1, grouped, left_on=df1.columns[1], right_on=grouped.columns[0], how='left') File "D:\BaiduNetdiskWorkspace\PythonToTo\venv\lib\site-packages\pandas\core\groupby\groupby.py", line 952, in __getattr__ raise AttributeError( AttributeError: 'SeriesGroupBy' object has no attribute 'columns'
时间: 2023-06-30 11:12:06 浏览: 224
ta-lib-0.5.1-cp312-cp312-win32.whl
这个错误信息提示 `SeriesGroupBy` 对象没有 `columns` 属性,是因为在 `groupby` 后的结果是 `SeriesGroupBy` 对象,而不是 `DataFrame` 对象,因此不能直接使用 `columns` 属性。如果您想要获取 `groupby` 后的列名,可以使用 `df2.columns[3]` 代替 `grouped.columns[0]`。您可以尝试修改代码如下:
```python
import pandas as pd
# 1. 读取指定表格
df1 = pd.read_excel('管户清单.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('new_公司.xlsx', sheet_name='Sheet1')
# 标的表索引列位置及数据位置
grouped = df2.groupby(df2.columns[3])[df2.columns[6]]
# 合并表1和表2的结果
result = pd.merge(df1, grouped, left_on=df1.columns[1], right_on=df2.columns[3], how='left')
# 输出结果到文件
result.to_excel('合并数据.xlsx', index=False)
```
这样就可以解决这个错误了。
阅读全文