首页 > 解决方案 > 如何从索引 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()]

标签: pythonpandas

解决方案


使用此代码,您可以将 100 行之后的 nan 值填充到最后一行。

df.loc[101:]=df.loc[101:].fillna(0)

推荐阅读