我有一個列,其中的值是NOT_TESTED、NOT_COMPLETED、TOO_LOW,或者是150和190之間的值,用5隔開,所以150、155、160等)。
num_range = range(150,190, 5)。
OUTCOMES = ['NOT_TESTED', 'NOT_COMPLETED', 'TOO_LOW', num_range]
df["results_col"] = df["TP1"].astype ("category")
df["results_col"].cat.set_categories(OUTCOMES , inplace = True )
sns.countplot(x="results_col", data=df, palette='Magma')
plt.xticks(rotation = 90)
plt.ylabel('Amount')
plt.xlabel('Outcomes')
plt.title("每次測驗的結果")
plt.show()
這是我創建的代碼,除了當我需要獲得150&190之間的數值時,它運行良好。我已經嘗試了不同的方法,如xrange()或tuple(range(150,190, 5)用于num_range,但這些都不起作用。
我需要每個值(150,155等)在柱狀圖中都有自己的棍子,代表它在該列 "TP1 "中出現的次數
有什么指導嗎?
有什么指導嗎?
使用python2.7
uj5u.com熱心網友回復:
你可以這樣做:
num_range = range(150,190, 5)。
OUTCOMES = ['NOT_TESTED', 'NOT_COMPLETED', 'TOO_LOW']
OUTCOMES.extend(list(num_range))
輸出。
['NOT_TESTED'。
'NOT_COMPLETED'。
'TOO_LOW'。
150,
155。
160。
165。
170。
175。
180。
185]
也許這樣你就可以分類,繼續做其他的事情了。
uj5u.com熱心網友回復:
試試這個:
num_range = list(range(150, 190, 5) #作為串列。
OUTCOMES = ['NOT_TESTED', 'NOT_COMPLETED', 'TOO_LOW']
OUTCOMES.extend(num_range) #用數字串列來擴展它。
#添加數字到TP1列。
df = df.append(pd.DataFrame(num_range,
columns=['TP1'])。)
ignore_index = True)
df["results_col"] = df["TP1"].astype("類別")
df["results_col"].cat.set_categories(OUTCOMES , inplace = True )
sns.countplot(x= "results_col", data=df, palette='Magma')
plt.xticks(rotation = 90)
plt.ylabel('Amount')
plt.xlabel('Outcomes')
plt.title("每次測驗的結果")
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/309344.html
標籤:

