我有一個大約750多行的資料框架,這對于傳統的柱狀圖來說顯然是過多的。我想做的是讓它顯示前 5 個條目、我正在尋找的特定標準以及后 5 個條目。
資料框架是這樣的:
。
動物得分
0 狗 1
1 豬 2
2 雞 3
3 貓 4
4 Fox 5
我想做的是顯示條形圖,讓它選擇前5個(其中1為最高)條目(狗、豬、雞、貓、狐貍),然后選擇串列中的一個特定條目(甲蟲),然后選擇后5個條目(老虎、獅子、斑馬、大猩猩、海馬)以及這些條目的相應 "分數"。
這是否可能?
預先感謝您的幫助!
更新:最初的答案讓我在圖表的右側出現了額外的條目,無論我修改了多少次concat欄位。也許是由于我的df中的750個條目造成的?答案。NaN值給了我空白值,這就是原因所在。我已經考慮到了這些問題。
uj5u.com熱心網友回復:
# Importing Dependencies
import pandas as pd
import matplotlib.pyplot as plt
# Creating DataFrame'Animal': ['狗'/span>, '豬'/span>, '雞'/span>, '貓','狐貍','鷹', '海豚', '松鼠','蜥蜴','鯊魚'。 '螞蟻','甲蟲','白蟻'。
'袋鼠','負鼠','鯨魚','水母', '海馬', 'Gorilla','Zebra','Lion','Tiger'] ,'Score'。[_ for _ in range(23) if _ ! = 0] }
df = pd.DataFrame(data)
#在此添加自定義條目。
custom_df = df.loc[df['Animal'].isin(['Beetle', 'Ant']) ]
# 創建新df
new_df = pd.concat([df[:5], df[-5:], custom_df] )
new_df.sort_values(by=['Score'], inplace= True)
new_df.reset_index(drop=True, inplace= True)
# 創建柱狀圖 # 創建柱狀圖
plt.bar(new_df['Animal'], new_df['Score'] )
plt.xticks(rotation=90)
plt.xlabel("動物")
plt.ylabel("Score")
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/328935.html
標籤:

