给定一个问题集,包含值及其相关频率,如何sample在数据框中创建它们?
Find the mean of this dataset
Value: 1 | 2 | 3
Freq: 3 | 4 | 2
Run Code Online (Sandbox Code Playgroud)
其中代表sample, [1, 1, 1, 2, 2, 2, 2, 3, 3]。
我将其输入到Python中:
>>> import pandas as pd
>>> df = pd.DataFrame({'value':[1, 2, 3], 'freq':[4, 5, 2]})
>>> df
value freq
0 1 3
1 2 4
2 3 2
Run Code Online (Sandbox Code Playgroud)
使用这种格式不难找到解决基本统计问题的方法。例如,该数据集的平均值为(df['value'] * df['freq']).sum() / df['freq'].sum()。然而,最好使用内置函数/属性,例如.mean(). 为此,我需要将值/频率数据作为原始值数据输入到数据框中。我的最终目标是这样的:
data
0 1
1 1
2 1
3 …Run Code Online (Sandbox Code Playgroud) 我正在测试 Plotly Dash 作为可能的仪表板工具。
我正在尝试运行文档中找到的图表之一:https ://plotly.com/python/bar-charts/
import dash
from dash import dcc
from dash import html
from dash.dependencies import Input, Output
import plotly.express as px
df = px.data.tips()
days = df.day.unique()
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Dropdown(
id="dropdown",
options=[{"label": x, "value": x} for x in days],
value=days[0],
clearable=False,
),
dcc.Graph(id="bar-chart"),
])
@app.callback(
Output("bar-chart", "figure"),
[Input("dropdown", "value")])
def update_bar_chart(day):
mask = df["day"] == day
fig = px.bar(df[mask], x="sex", y="total_bill",
color="smoker", barmode="group")
return fig
app.run_server(debug=True, port=8049)
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我收到一个错误。这是跟踪回调的结尾:
File "zmq/backend/cython/checkrc.pxd", line …Run Code Online (Sandbox Code Playgroud)