在Pandas中删除空列
在这篇文章中,我们将尝试用不同的方法来移除空列、空列和零值列。首先,我们将创建一个样本数据框,然后在随后的例子中执行我们的操作,最后你将得到一个关于如何用pandas处理这种情况的强大知识。
步骤:
- 导入所需的Python库。
- 创建一个样本数据框架。
- 使用Pandas dropna()方法,它允许用户以不同的方式分析和删除具有空值的行/列。
- 显示更新的数据框架。
语法: DataFrameName.dropna(axis=0, how=’any’, inplace=False)
参数:
- axis: axis对于行/列来说,使用的是int或string值。对于整数来说,输入可以是0或1;对于字符串来说,输入 “index “或 “columns”。
- how:how只接受两种类型的字符串值(’any’或’all’)。如果任何值是空的,’any’将删除该行/列,’all’只在所有值都是空的情况下删除。
- inplace。这是一个布尔值,如果为 “真”,则在数据框本身进行更改。
Sample Data:
这是一个样本数据框,我们将对其进行不同的操作。
# import required libraries
import numpy as np
import pandas as pd
# create a Dataframe
Mydataframe = pd.DataFrame({'FirstName': ['Vipul', 'Ashish', 'Milan'],
"Gender": ["", "", ""],
"Age": [0, 0, 0]})
Mydataframe['Department'] = np.nan
# show the dataframe
print(Mydataframe)
输出:
示例 1:
删除所有空值列。
# import required libraries
import numpy as np
import pandas as pd
# create a Dataframe
Mydataframe = pd.DataFrame({'FirstName': ['Vipul', 'Ashish', 'Milan'],
"Gender": ["", "", ""],
"Age": [0, 0, 0]})
Mydataframe['Department'] = np.nan
display(Mydataframe)
Mydataframe.dropna(how='all', axis=1, inplace=True)
# show the dataframe
display(Mydataframe)
输出:
示例 2:
用null替换所有空位,然后用dropna函数删除所有空值列。
# import required libraries
import numpy as np
import pandas as pd
# create a Dataframe
Mydataframe = pd.DataFrame({'FirstName': ['Vipul', 'Ashish', 'Milan'],
"Gender": ["", "", ""],
"Age": [0, 0, 0]})
Mydataframe['Department'] = np.nan
display(Mydataframe)
nan_value = float("NaN")
Mydataframe.replace("", nan_value, inplace=True)
Mydataframe.dropna(how='all', axis=1, inplace=True)
# show the dataframe
display(Mydataframe)
输出:
示例 3:
用空值替换所有零的地方,然后用dropna函数删除所有空值列。
# import required libraries
import numpy as np
import pandas as pd
# create a Dataframe
Mydataframe = pd.DataFrame({'FirstName': ['Vipul', 'Ashish', 'Milan'],
"Gender": ["", "", ""],
"Age": [0, 0, 0]})
Mydataframe['Department'] = np.nan
display(Mydataframe)
nan_value = float("NaN")
Mydataframe.replace(0, nan_value, inplace=True)
Mydataframe.dropna(how='all', axis=1, inplace=True)
# show the dataframe
display(Mydataframe)
输出:
示例 4:
用空值替换所有的零和空位,然后用dropna函数删除所有空值列。
# import required libraries
import numpy as np
import pandas as pd
# create a Dataframe
Mydataframe = pd.DataFrame({'FirstName': ['Vipul', 'Ashish', 'Milan'],
"Gender": ["", "", ""],
"Age": [0, 0, 0]})
Mydataframe['Department'] = np.nan
display(Mydataframe)
nan_value = float("NaN")
Mydataframe.replace(0, nan_value, inplace=True)
Mydataframe.replace("", nan_value, inplace=True)
Mydataframe.dropna(how='all', axis=1, inplace=True)
# show the dataframe
display(Mydataframe)
输出: