如何显示不同的列并使用熊猫删除它们



数据表

我有这样的csv文件,里面有10000个不同的参数,有些参数是空的,有些参数只有0和1的组合。我想显示0和1组合的参数,我想从表中删除空参数,然后我必须显示没有NA、NaN和空值的表。

如有任何帮助,将不胜感激

您可以首先删除空的列或参数,然后选择只有1或0值的行。

获取具有所有空值的列名

df.columns[df.isna().all()]

下一步可以删除空列。

df.dropna(how='all', axis=1, inplace=True)
df.loc[:, ((df==0) | (df==1)).all()]
Putting Together the Dataframe

为了开始,让我们整理一个示例数据帧,您可以在本教程的其余部分中使用它。看看下面的代码,把数据帧放在一起:

df = pd.DataFrame({'Name': ['Nik', 'Jim', 'Alice', 'Jane', 'Matt', 'Kate'],
'Score': [100, 120, 96, 75, 68, 123],
'Height': [178, 180, 160, 165, 185, 187],

‘重量’:[180175155167189]}(enter code here

print(df.head())
By using the df.head() function, you can see what the dataframe’s first five rows look like:

Name    Score   Height  Weight

0尼克100 178 1801 Jim 120 180 1752爱丽丝96 160 1433简75 165 1554马特68 185 167

DataFrame.drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
  1. 加载csv:

为此,我们将使用非常有用的库Pandas。

import pandas as pd    
df = pd.read_csv(path_to_your_file)
  1. 与熊猫。系列.in((:

它将返回一个布尔序列,显示序列中的每个元素是否与传递的值序列中的一个元素完全匹配。之后,您将删除非数字(NaN(值。您可以在一行中使用:

df[df.isin([0, 1])].dropna(axis=1)

我认为它将比第一个答案和.all()的条件更快。也许时间比较对您的数据集有帮助。

最新更新