如何显示一个数据框中 3 列的 3 个箱线图
How to show 3 box plots from 3 columns from one dataframe
我的问题是我无法在一张图上显示 3 个箱线图 space。当我尝试这样做时,我只看到空白 space,没有任何情节。将列名称之一赋予 px.box 函数的“y”参数,仅显示一个框。但是我想要3对1space.
def filter_df(df):
original_list = df.values.tolist()
iqr_list = IQR_outliners(df)
zscore_list = zscore_outliners(df)
dc = {'Original':original_list,'IQR':iqr_list, 'Z-Score':zscore_list}
df_new = pd.DataFrame.from_dict(dc, orient='index')
df_new = df_new.transpose()
print(df_new)
fig = px.box(df_new)
fig.show()
filter_df(df1.holeDiameter)
这是我要绘制的数据框,在绘图空白下方 space:
Original IQR Z-Score
0 NaN 0.120 0.120
1 NaN 0.101 0.101
2 0.120 0.100 0.100
3 0.101 0.100 0.100
4 0.100 0.100 0.100
... ... ... ...
1430 0.100 NaN NaN
1431 0.100 NaN NaN
1432 0.100 NaN NaN
1433 0.100 NaN NaN
1434 0.100 NaN NaN
[1435 rows x 3 columns]
有什么想法吗?
好的,我做到了!
import plotly.graph_objects as go
def filter_df(df):
original_list = df.values.tolist()
iqr_list = IQR_outliners(df)
zscore_list = zscore_outliners(df)
dc = {'Original':original_list,'IQR':iqr_list, 'Z-Score':zscore_list}
df_new = pd.DataFrame.from_dict(dc, orient='index')
df_new = df_new.transpose()
print(df_new)
fig = go.Figure()
for col in df_new:
fig.add_trace(go.Box(y=df_new[col].values, name=df_new[col].name))
fig.show()
filter_df(df1.holeDiameter)
我的问题是我无法在一张图上显示 3 个箱线图 space。当我尝试这样做时,我只看到空白 space,没有任何情节。将列名称之一赋予 px.box 函数的“y”参数,仅显示一个框。但是我想要3对1space.
def filter_df(df):
original_list = df.values.tolist()
iqr_list = IQR_outliners(df)
zscore_list = zscore_outliners(df)
dc = {'Original':original_list,'IQR':iqr_list, 'Z-Score':zscore_list}
df_new = pd.DataFrame.from_dict(dc, orient='index')
df_new = df_new.transpose()
print(df_new)
fig = px.box(df_new)
fig.show()
filter_df(df1.holeDiameter)
这是我要绘制的数据框,在绘图空白下方 space:
Original IQR Z-Score
0 NaN 0.120 0.120
1 NaN 0.101 0.101
2 0.120 0.100 0.100
3 0.101 0.100 0.100
4 0.100 0.100 0.100
... ... ... ...
1430 0.100 NaN NaN
1431 0.100 NaN NaN
1432 0.100 NaN NaN
1433 0.100 NaN NaN
1434 0.100 NaN NaN
[1435 rows x 3 columns]
有什么想法吗?
好的,我做到了!
import plotly.graph_objects as go
def filter_df(df):
original_list = df.values.tolist()
iqr_list = IQR_outliners(df)
zscore_list = zscore_outliners(df)
dc = {'Original':original_list,'IQR':iqr_list, 'Z-Score':zscore_list}
df_new = pd.DataFrame.from_dict(dc, orient='index')
df_new = df_new.transpose()
print(df_new)
fig = go.Figure()
for col in df_new:
fig.add_trace(go.Box(y=df_new[col].values, name=df_new[col].name))
fig.show()
filter_df(df1.holeDiameter)