Я новичок в программировании на Python.В настоящее время я пытаюсь создать график, который может отображать процент в верхней части гистограммы в 2 десятичных разрядах.
df_survey - это фрейм данных, который я сделал с использованием библиотеки панд.(Я пытаюсь скопировать datafame df_survey_sort в df_survey_pct, но когда я внесу изменение в df_survey_pct, df_survey_sort также изменится ... может кто-нибудь объяснить мне, почему это происходит. В результате я делаю следующее, чтобы df_survey_sort и df_survey_pct не перезаписывались)
df_survey = df_survey[['Very interested','Somewhat interested','Not interested']]
df_survey_sort = df_survey.sort_values(by='Very interested', ascending=0)
#df_survey_pct = df_survey_sort
df_survey_pct = df_survey.sort_values(by='Very interested', ascending=0)
total_ds = df_survey_sort.sum(axis=1)
for i in range(0,df_survey_sort.shape[0]):
df_survey_pct.iloc[i][0] = round(df_survey_sort.iloc[i][0]/total_ds[i]*100,2)
df_survey_pct.iloc[i][1] = round(df_survey_sort.iloc[i][1]/total_ds[i]*100,2)
df_survey_pct.iloc[i][2] = round(df_survey_sort.iloc[i][2]/total_ds[i]*100,2)
это тип данных df_survey_pct
Very interested int64
Somewhat interested int64
Not interested int64
dtype: object
, когда я выполняю print(df_survey_pct)
, значение каждой ячейки не в десятичных разрядах.
Я дажепопробуйте df_survey_pct = df_survey_pct.round(2)
и df_survey_pct = df_survey_pct.astype('float')
, однако значение по-прежнему целочисленное.
Из-за этого я могу отображать только целочисленный процент в моей гистограмме.