I want to create a stacked bar chart using plotly based on the frequency of each feature with respect to the subtypes in admin.disease_code.
My code raised UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('<U18'), dtype('int64')) -> None error.
import pandas as pd
import numpy as np
import plotly.express as px
Grouping and aggregation
agg_df = df.groupby(["admin.disease_code"]).agg({'count'})
agg_df = agg_df.drop("tcga_id", axis=1)
agg_df.columns = agg_df.columns.get_level_values(0)
agg_df.rename(columns = {'patient.days_to_death':'days_to_death', 'patient.vital_status':'vital_status', 'patient.age_at_initial_pathologic_diagnosis':'age_at_initial_pathologic_diagnosis', 'patient.gender':'gender','patient.karnofsky_performance_score':'karnofsky_performance_score'}, inplace = True)
Stacked bar plot
fig = px.bar(agg_df, x=agg_df.columns, title="Clinical information for RCC subtypes")
fig.show()
Traceback:
---------------------------------------------------------------------------
UFuncTypeError Traceback (most recent call last)
/tmp/ipykernel_17/79231555.py in <module>
----> 1 fig = px.bar(agg_df, x=agg_df.columns, title="Clinical information for RCC subtypes")
2 fig.show()
/opt/conda/lib/python3.7/site-packages/plotly/express/_chart_types.py in bar(data_frame, x, y, color, pattern_shape, facet_row, facet_col, facet_col_wrap, facet_row_spacing, facet_col_spacing, hover_name, hover_data, custom_data, text, base, error_x, error_x_minus, error_y, error_y_minus, animation_frame, animation_group, category_orders, labels, color_discrete_sequence, color_discrete_map, color_continuous_scale, pattern_shape_sequence, pattern_shape_map, range_color, color_continuous_midpoint, opacity, orientation, barmode, log_x, log_y, range_x, range_y, text_auto, title, template, width, height)
375 constructor=go.Bar,
376 trace_patch=dict(textposition="auto"),
--> 377 layout_patch=dict(barmode=barmode),
378 )
379
/opt/conda/lib/python3.7/site-packages/plotly/express/_core.py in make_figure(args, constructor, trace_patch, layout_patch)
1988 apply_default_cascade(args)
1989
-> 1990 args = build_dataframe(args, constructor)
1991 if constructor in [go.Treemap, go.Sunburst, go.Icicle] and args["path"] is not None:
1992 args = process_dataframe_hierarchy(args)
/opt/conda/lib/python3.7/site-packages/plotly/express/_core.py in build_dataframe(args, constructor)
1457 value_vars=wide_value_vars,
1458 var_name=var_name,
-> 1459 value_name=value_name,
1460 )
1461 assert len(df_output.columns) == len(set(df_output.columns)), (
/opt/conda/lib/python3.7/site-packages/pandas/core/frame.py in melt(self, id_vars, value_vars, var_name, value_name, col_level, ignore_index)
8344 value_name=value_name,
8345 col_level=col_level,
-> 8346 ignore_index=ignore_index,
8347 )
8348
/opt/conda/lib/python3.7/site-packages/pandas/core/reshape/melt.py in melt(frame, id_vars, value_vars, var_name, value_name, col_level, ignore_index)
142 mdata[col] = id_data
143
--> 144 mcolumns = id_vars + var_name + [value_name]
145
146 # error: Incompatible types in assignment (expression has type "ndarray",
UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('<U18'), dtype('int64')) -> None
Data:
df.head().to_dict()
{'admin.disease_code': {'TCGA-2K-A9WE-01A-11D-A381-01': 'kirp',
'TCGA-2Z-A9J1-01A-11D-A381-01': 'kirp',
'TCGA-2Z-A9J2-01A-11D-A381-01': 'kirp',
'TCGA-2Z-A9J3-01A-12D-A381-01': 'kirp',
'TCGA-2Z-A9J5-01A-21D-A381-01': 'kirp'},
'patient.days_to_death': {'TCGA-2K-A9WE-01A-11D-A381-01': nan,
'TCGA-2Z-A9J1-01A-11D-A381-01': nan,
'TCGA-2Z-A9J2-01A-11D-A381-01': nan,
'TCGA-2Z-A9J3-01A-12D-A381-01': '1771',
'TCGA-2Z-A9J5-01A-21D-A381-01': nan},
'patient.age_at_initial_pathologic_diagnosis': {'TCGA-2K-A9WE-01A-11D-A381-01': '53',
'TCGA-2Z-A9J1-01A-11D-A381-01': '71',
'TCGA-2Z-A9J2-01A-11D-A381-01': '71',
'TCGA-2Z-A9J3-01A-12D-A381-01': '67',
'TCGA-2Z-A9J5-01A-21D-A381-01': '80'},
'patient.karnofsky_performance_score': {'TCGA-2K-A9WE-01A-11D-A381-01': nan,
'TCGA-2Z-A9J1-01A-11D-A381-01': nan,
'TCGA-2Z-A9J2-01A-11D-A381-01': nan,
'TCGA-2Z-A9J3-01A-12D-A381-01': nan,
'TCGA-2Z-A9J5-01A-21D-A381-01': nan},
'tcga_id': {'TCGA-2K-A9WE-01A-11D-A381-01': 'TCGA-2K-A9WE-01A',
'TCGA-2Z-A9J1-01A-11D-A381-01': 'TCGA-2Z-A9J1-01A',
'TCGA-2Z-A9J2-01A-11D-A381-01': 'TCGA-2Z-A9J2-01A',
'TCGA-2Z-A9J3-01A-12D-A381-01': 'TCGA-2Z-A9J3-01A',
'TCGA-2Z-A9J5-01A-21D-A381-01': 'TCGA-2Z-A9J5-01A'},
'survival': {'TCGA-2K-A9WE-01A-11D-A381-01': 'lts',
'TCGA-2Z-A9J1-01A-11D-A381-01': 'lts',
'TCGA-2Z-A9J2-01A-11D-A381-01': 'lts',
'TCGA-2Z-A9J3-01A-12D-A381-01': 'non-lts',
'TCGA-2Z-A9J5-01A-21D-A381-01': 'lts'}}
Data types
agg_df.dtypes
0
patient.days_to_death int64
patient.age_at_initial_pathologic_diagnosis int64
patient.karnofsky_performance_score int64
survival int64
dtype: object
