Python 如何使用Pandas创建if语句,获取csv的最后一行并在特定列处提取,如果列为空,请检查它前面的行?

Python 如何使用Pandas创建if语句,获取csv的最后一行并在特定列处提取,如果列为空,请检查它前面的行?,python,pandas,dataframe,Python,Pandas,Dataframe,我想知道我是否可以创建一个if语句来检查特定单元格的最后一行是否包含任何数据,或者它是否为“nan”。 如果它包含数据,那么继续,如果没有,我希望程序在最后一行之前检查该行 以下是我目前使用的代码,使用github上的csv数据: import pandas as pd import csv import requests url1 = r"https://raw.githubusercontent.com/owid/covid-19-data/master/public/data

我想知道我是否可以创建一个if语句来检查特定单元格的最后一行是否包含任何数据,或者它是否为“nan”。 如果它包含数据,那么继续,如果没有,我希望程序在最后一行之前检查该行

以下是我目前使用的代码,使用github上的csv数据:

import pandas as pd
import csv
import requests


url1 = r"https://raw.githubusercontent.com/owid/covid-19-data/master/public/data/vaccinations/country_data/Austria.csv"

file1 = pd.read_csv(url1)

df1 = pd.DataFrame(file1.iloc[:,:].values)

df1 = pd.DataFrame(file1.iloc[-1:,:].values)


# This line gets the last row of csv file
Austria_date = df1.iloc[:,1]

# This line gets the cell of the last row, but unforatenly it does not contain data, instead "nan"
Austria_cum = df1.iloc[:, 4].map('{:,}'.format)

是否可以创建一个if语句来检查前一行并查看其是否包含数据?

如果您只想从最后一行获取数据,您可以使用:

df.fillna(方法='ffill')
它将打开以下df:

日期 疫苗接种 17-2-21 10 18-2-21 20 19-2-21 楠
file1.dropna().tail(1.iloc[0,4]
非常有用simpler@RobRaymond谢谢这是迄今为止我见过的最有效的解决方案,我已经研究了几个小时。。。您能用简单的英语解释一下这实际上是在做什么吗?
dropna()
-删除有空格的行-您不需要这些行。获取最后一行的最简单方法是
tail(1)
@RobRaymond获取它。您知道有什么方法可以将行:file1.dropna().tail(1.iloc[0,4]包装到DataFrame对象中吗?我试图在它上面使用to-Pandas-to-u-string方法,但收到错误消息:
“DATE:[Austria\u-DATE.to-u-string(header=None,index=None)],
AttributeError:'str'对象没有属性'to-u-string'
文件1.dropna()。tail(1)是一个DF对象,您可以按名称引用列