python-3.x - 如何修剪和重塑数据框?
问题描述
我的 df 看起来像这样:
a b c d e f
1 na 2 3 4 5
1 na 2 3 4 5
1 na 2 3 4 5
1 6 2 3 4 5
如何修剪和重塑数据框,以便为每一列删除 n/a 并且数据框如下所示:
编辑;
df.dropna()
正在删除所有行。
a b c d e f
1 6 2 3 4 5
这个数据框有数百万行,我需要能够逐列删除 n/a 行,同时保留其中包含数据的行和列。
编辑;
df.dropna()
正在删除列中的所有行。当我检查带有 n/a 的列是否为空时,df.column_name.empty()
我得到了错误。所以列中有数据不适用
解决方案
对我来说,删除缺失值和sdropna
工作得很好:None
df = df.dropna()
print (df)
a b c d e f
3 1 6.0 2 3 4 5
但是,如果可能有多个用于删除 create mask by 的值,使用和 last filter byisin
进行链式测试缺失值-通过反转掩码每行返回至少一个:isnull
any
True
~
df = pd.DataFrame({'a': ['a', None, 's', 'd'],
'b': ['na',7, 2, 6],
'c': [2, 2, 2, 2],
'd': [3, 3, 3, 3],
'e': [4, 4, np.nan, 4],
'f': [5, 5, 5, 5]})
print (df)
a b c d e f
0 a na 2 3 4.0 5
1 None 7 2 3 4.0 5
2 s 2 2 3 NaN 5
3 d 6 2 3 4.0 5
df1 = df.dropna()
print (df1)
a b c d e f
0 a na 2 3 4.0 5
3 d 6 2 3 4.0 5
mask = (df.isin(['na', 'n/a']) | df.isnull()).any(axis=1)
df2 = df[~mask]
print (df2)
a b c d e f
3 d 6 2 3 4.0 5
推荐阅读
- android - 如何在 google play 控制台中获取特定 android 应用的活跃用户数和活跃设备?
- python - 为什么我的 .after 没有按预期工作?
- reactjs - 我如何在反应应用程序中添加 sitemap.xml 并公开?
- javascript - 我如何在 wordpress 上安装水平滚动 UI(用于图片库)(没有编码技能)
- java - 使用 Java 11 而不是 1.8 的 xsl-fo 转换要慢得多
- python-3.x - 从明文生成基于 ISO 9797 Alg3 的 MAC
- .net - Castlemock 找不到端口,使用 svc wsdl
- r - R中的“相关”矩阵
- reactjs - 如何在 WebWorker 上使用 React 组件
- ios - json序列化后类数组对象值总是返回nil