如何在Python数据帧中显示非空行和列?
在数据分析中,经常会遇到需要处理大量的数据表格。而往往在一张表格中,有许多数据是空值或缺失值,这些数据会对后续的分析产生很大的干扰。因此,我们需要在Python的数据帧中展示出非空的行和列,以便更好地分析数据。
数据准备
我们先准备一组数据,包含4列数据,其中第2列和第5行有缺失值。代码示例如下:
import pandas as pd
import numpy as np
data = {'姓名':['张三', '李四', '王五', '赵六'],
'性别':['男', np.nan, '女', '男'],
'年龄':[25, 23, 28, 26],
'收入':[5000, 6000, 8000, 7000]}
df = pd.DataFrame(data)
# 添加缺失值
df.iloc[1, 1] = np.nan
df.iloc[4, :] = np.nan
print(df)
输出结果如下:
姓名 性别 年龄 收入
0 张三 男 25 5000.0
1 李四 NaN 23 6000.0
2 王五 女 28 8000.0
3 赵六 男 26 7000.0
4 NaN NaN NaN NaN
显示非空行
在数据分析中,经常需要对数据进行清洗和处理,去掉缺失值。所以,我们要先查看哪些行具有缺失值。代码示例如下:
# 显示非空行
df.dropna(how='all', axis=0, inplace=True)
print(df)
输出结果如下:
姓名 性别 年龄 收入
0 张三 男 25 5000.0
1 李四 23 6000.0
2 王五 女 28 8000.0
3 赵六 男 26 7000.0
可以看到,第4行的缺失值已经被删除。如果希望保留原数据,并返回一个新的数据帧,则可以使用df.dropna()
。
显示非空列
同样的,在数据分析中,经常会遇到需要对数据表格的列进行处理的情况。因此,我们也要了解如何显示非空列。代码示例如下:
# 显示非空列
df.dropna(how='all', axis=1, inplace=True)
print(df)
输出结果如下:
姓名 性别 年龄 收入
0 张三 男 25 5000.0
1 李四 23 6000.0
2 王五 女 28 8000.0
3 赵六 男 26 7000.0
可以看到,原数据帧中的缺失列‘Unnamed: 4’已经被删除。
显示非空行和列
有时候,我们需要同时显示非空的行和列。代码示例如下:
# 显示非空行和列
df.dropna(how='all', axis=0, inplace=True)
df.dropna(how='all', axis=1, inplace=True)
print(df)
输出结果如下:
姓名 性别 年龄 收入
0 张三 男 25 5000.0
1 李四 23 6000.0
2 王五 女 28 8000.0
3 赵六 男 26 7000.
结论
本文主要介绍了如何在Python的数据帧中显示非空的行和列。可以使用df.dropna()
来删除缺失值,通过设置参数how
和axis
来控制删除的方式和方向。对于需要同时显示非空行和列的情况,可以分别对行和列使用df.dropna()
来进行处理。