python - 如何从索引 100 到末尾用零完成?
问题描述
我需要从索引 100 向下迭代的想法,如果你发现一个空值,用零填充它。我们的想法是在每一列中都这样做。例如:是这样吗
... ... ... ... ...
... ... ... ... ...
99 -6661,39775 -6080,24775 -6669,13875 NaN
100 -6669,13875 -6303,48 NaN NaN
101 -6687,2345 NaN NaN NaN
102 -6676,43775 NaN NaN NaN
它应该看起来像这样
... ... ... ... ...
... ... ... ... ...
99 -6661,39775 -6080,24775 -6669,13875 NaN
100 -6669,13875 -6303,48 0 0
101 -6687,2345 0 0 0
102 -6676,43775 0 0 0
这是一个 excel 文件……我正在使用 pandas 库。我尝试做的或多或少是过滤数据,消除没有测量值的列,如下面的代码所示:
todos = []
for f in glob.glob('*.xlsx'):
df = pd.read_excel(f, sheet_name='Medidas')
df = df.drop(df.index[[0,1,2,5,6]])
df = df.drop(df.index[len(df)-1])
#Here should be the condition of the problem
df = df.dropna(axis=1, how= 'any', thresh=None, subset=None, inplace=False)
todos.append(df)
df = pd.read_excel(f)
df = pd.concat(todos, axis=1)
df = df.loc[:,~df.columns.duplicated()]
解决方案
使用此代码,您可以将 100 行之后的 nan 值填充到最后一行。
df.loc[101:]=df.loc[101:].fillna(0)