df_combined = pd.concat([df, df1], axis=1) # 绘制散点图 fig, ax = plt.subplots(figsize=(12, 12)) plt.scatter(df_combined.index, df_combined['上一年比本年倍数'], c='blue', cmap='Blues', alpha=0.6) plt.scatter(df_combined.index, df_combined['上一年比本年倍数'], c='orange', cmap='Oranges', alpha=0.6) plt.xlabel('Index') plt.ylabel('倍数') plt.yticks(np.arange(0, max(df_combined['上一年比本年倍数'])+20, 20)) plt.show() x and y must be the same size
时间: 2023-08-08 18:14:05 浏览: 56
在你的代码中,第二个 scatter 函数的 x 和 y 参数都是 `'上一年比本年倍数'`,应该将其中一个改成 `'本年比上一年倍数'`。修改后的代码如下:
```
df_combined = pd.concat([df, df1], axis=1)
fig, ax = plt.subplots(figsize=(12, 12))
plt.scatter(df_combined.index, df_combined['上一年比本年倍数'], c='blue', cmap='Blues', alpha=0.6)
plt.scatter(df_combined.index, df_combined['本年比上一年倍数'], c='orange', cmap='Oranges', alpha=0.6)
plt.xlabel('Index')
plt.ylabel('倍数')
plt.yticks(np.arange(0, max(df_combined['上一年比本年倍数'])+20, 20))
plt.show()
```
这样就可以将两个 DataFrame 中的数据合并并绘制在同一个图中了。
相关问题
df_all = pd.DataFrame() df_all = pd.concat([df_all, df_one], axis='columns')
这段代码的作用是将一个名为"df_one"的DataFrame与名为"df_all"的空DataFrame按列合并,并将结果存储在"df_all"中。其中"axis='columns'"表示按列合并,即将df_one的列添加到df_all的列后面。最终结果是一个包含df_one的所有列的DataFrame,如果df_all原本就有列,则新的列将添加到现有列的后面。
# 读入sheet1和sheet2df1 = pd.read_excel('数据表.xlsx', sheet_name='Sheet1')df2 = pd.read_excel('数据表.xlsx', sheet_name='Sheet2')# 纵向合并df_vertical = pd.concat([df1, df2], axis=0)# 读入sheet3df3 = pd.read_excel('数据表.xlsx', sheet_name='Sheet3')# 横向合并df_horizontal = pd.concat([df1, df3], axis=1)# 计算不同级别员工的营业额总和df_sum = df_horizontal.groupby('级别')['营业额'].sum().reset_index()# 输出计算结果print(df_vertical)print(df_horizontal)print(df_sum)为啥输入完代码,运行不出来,出来超市营业额2.xlsx找不到
根据你提供的代码和错误信息,可能原因是文件名不正确或文件路径不正确。请确认以下几点:
1. 文件名是否正确:你的代码中提到的文件名是"数据表.xlsx",但是错误信息中提到的文件名是"超市营业额2.xlsx"。请确认使用的文件名是否正确。
2. 文件路径是否正确:请确认文件路径是否正确,即文件所在的文件夹路径是否正确。如果文件不在当前工作目录下,需要提供完整的文件路径。
3. 文件是否存在:请确认文件是否存在于指定的路径下。如果文件不存在,需要重新保存文件或提供正确的文件路径。
如果以上几点都确认无误,还是无法运行代码,可能需要检查一下你的环境是否正确安装了所需要的库,如pandas等。