我已将excel导入到数据框中,它看起来像这样:
rule_id reqid1 reqid2 reqid350014 1.0 0.0 1.050238 0.0 1.0 0.050239 0.0 1.0 0.050356 0.0 …
使用 辩解 功能,然后只删除 NaN 的行数 DataFrame.dropna 带参数 how='all' :
NaN
DataFrame.dropna
how='all'
df8 = dft5.drop(cols, axis=1).T
df8 = pd.DataFrame(justify(df8.values, invalid_val=np.nan, axis=0,side='up'), columns=df8.columns).dropna(how='all') print (df8) rule_id 50014 50238 50239 50356 50412 51181 53139 0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 1 100.0 NaN NaN NaN NaN NaN NaN
另一个熊猫解决方案:
df8 = df8.apply(lambda x: pd.Series(x.dropna().values)) print (df8) rule_id 50014 50238 50239 50356 50412 51181 53139 0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 1 100.0 NaN NaN NaN NaN NaN NaN