我试图用条形图显示我的csv文件,并试图只显示前20个数据,下面我试图删除从0到175的数据,以显示其余数据,但结果是它只删除了第0行和第175行。我如何从0到175,我试着做0:175,但它被标记为错误
import pandas as pd
from matplotlib import pyplot as plt
df = pd.read_csv('MAY_2021_COVID_CLEANED.csv')
df = df.drop([0,175],axis=0)
print(df)
#assigning variables
x = df['Country']
y = df['Death Count']
#Graphing
plt.bar(x,y)
plt.xticks(rotation=90,fontsize=5)
plt.title("Number of Death per Country")
plt.ylabel("Number of Death")
plt.xlabel("Country")
plt.show()
如何从0到175,我试着做0:175,但它被标记为错误
您可能会使用内置的range
来执行此任务,请考虑以下简单示例:
import pandas as pd
df = pd.DataFrame({'value':[0,1,2,3,4,5,6,7,8,9]})
df = df.drop(range(0,5),axis=0)
print(df)
输出
value
5 5
6 6
7 7
8 8
9 9
注意,range
是包含-独占的,因此删除了行0
、1
、2
、3
、4
——开始(0
(是包含的,结束(5
(是独占的。
你试过切片吗?这应该有效:
import pandas as pd
from matplotlib import pyplot as plt
df = pd.read_csv('MAY_2021_COVID_CLEANED.csv')
df = df[:20]
#assigning variables
x = df['Country']
y = df['Death Count']
#Graphing
plt.bar(x,y)
plt.xticks(rotation=90,fontsize=5)
plt.title("Number of Death per Country")
plt.ylabel("Number of Death")
plt.xlabel("Country")
plt.show()
如果只想绘制最后20行,可以使用DataFrame.tail
df = df.tail(20)
如果您想要一个系列的前20个值,请使用DataFrame.nlargest
df = df.nlargest(20, "Death Count")