use*_*127 2 python dataframe python-2.7 pandas
我有一个500*100的Pandas DataFrame,有很多NaN值.
我知道每列将包含495个NaN和5个实数值.我想重塑表格只包含5行的实际值,因此最终尺寸应为5*100.
我知道有很多关于如何删除NaN值的问题,但我还没有找到一种方法来相应地重塑表格.
提前致谢.
你需要apply
用dropna
,只需要创建numpy array
和重新分配Series
复位指数:
df.apply(lambda x: pd.Series(x.dropna().values))
Run Code Online (Sandbox Code Playgroud)
样品:
df = pd.DataFrame({'B':[4,np.nan,4,np.nan,np.nan,4],
'C':[7,np.nan,9,np.nan,2,np.nan],
'D':[1,3,np.nan,7,np.nan,np.nan],
'E':[np.nan,3,np.nan,9,2,np.nan]})
print (df)
B C D E
0 4.0 7.0 1.0 NaN
1 NaN NaN 3.0 3.0
2 4.0 9.0 NaN NaN
3 NaN NaN 7.0 9.0
4 NaN 2.0 NaN 2.0
5 4.0 NaN NaN NaN
df1 = df.apply(lambda x: pd.Series(x.dropna().values))
print (df1)
B C D E
0 4.0 7.0 1.0 3.0
1 4.0 9.0 3.0 9.0
2 4.0 2.0 7.0 2.0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5091 次 |
最近记录: |