首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:__init__()获得参数‘数据’的多个值

TypeError:__init__()获得参数‘数据’的多个值
EN

Stack Overflow用户
提问于 2022-07-27 14:14:42
回答 1查看 809关注 0票数 1

我正在尝试使用ggplot(x=“order_date”、y="total_price")、data=data_构建一个地块,代码如下:

代码语言:javascript
复制
    # Core Python Data Analysis
from numpy.core.defchararray import index
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Plotting
from plotnine import (
    ggplot, aes,
    geom_col, geom_line, geom_smooth,
    facet_wrap,
    scale_y_continuous, scale_x_datetime,
    labs,
    theme, theme_minimal, theme_matplotlib,
    expand_limits,
    element_text
)


sales_by_months = df[[ 'order_date', 'total_price' ]] \
    .set_index('order_date') \
    .resample(rule='MS') \
    .aggregate(np.sum) \
    .reset_index()
data_ = sales_by_months
ggplot(aes(x="order_date", y="total_price"), data=data_)

我在这段代码之前安装了所有的库。我知道这个错误:

代码语言:javascript
复制
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_28504\2472174790.py in <module>
----> 1 ggplot(aes(x="order_date", y="total_price"), data=data_)

TypeError: __init__() got multiple values for argument 'data'

有人能帮我解决这个问题吗?或者告诉我为什么我会有这个错误?

WINDOW11,JUPYTER笔记本电脑,PYTHON3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-27 14:28:59

在默认情况下,传入ggplot的第一个参数是data (因为它在源代码中处于第一位,并且没有提供任何关键字),但随后传递另一个data参数(带有关键字)。这就是为什么会发生这样的错误。尝试为第一个参数指定关键字,即mapping

另外,另一个不需要但有助于提高可读性和代码更直接的技巧是:将data参数放在第一位,然后将mapping放在第二位。

所以你应该知道:ggplot(data=data_, mapping=aes(x="order_date", y="total_price"))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73139563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档