我想知道是否可以创建一个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(method='ffill')
它将打开以下df:
日期 | 预防接种 |
---|---|
17-2-21 | 10 |
18-2-21 | 20 |
19-2-21 | N |
进入:
日期 | 预防接种 |
---|---|
17-2-21 | 10 |
18-2-21 | 20 |
19-2-21 | 20 |
请注意,这将填充所有NaN
值,有关更多信息,请参见:https : //pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html
编辑:
我已经更改了示例,以反映出我的方法与Rob Raymond的方法相比所获得的不同结果。如果希望结果为Date: 18-2-21, Vaccinations: 20
,则应采用Rob Raymond的处理缺失值的方法。如果要得到结果,Date: 19-2-21, Vaccinations: 20
则应使用此答案中描述的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句