pd.DataFrame存在错位的循环对齐(python)
问题描述:
在用tabula处理从pdf抓取的表格过程中,遇到了识别错位导致存在nan(空值)的情况,
需要对pd.DataFrame做调整。初始结构如下:
函数搭建
1 import numpy as np 2 import pandas as pd 3 4 def df_sort(df_input): 5 df=df_input.copy()#输入df之备份,防止更改原df_input 6 while df.dropna(1).shape[1]<sum((df.count())/df.shape[0]): 7 for row in range(df.shape[1]-1): 8 for col in range(df.shape[0]): 9 if pd.isnull(df)[row][col]==True: 10 temp=df[row+1][col] 11 df[row][col]=temp 12 df[row+1][col]=np.nan 13 return df.dropna(1)
结果:
---------------------------------------------------
by 伍钱居士@UIBE 2018-07-23