如何删除文本数据框中的离群值?

时间:2019-07-02 10:32:33

标签: python pandas

我正在编写一个程序,该程序读取一个文本文件并将数据以熊猫数据框的形式分类为名称,职务,公司和位置字段。除一两个异常值外,所有行的位置字段均相同。我想从df中删除这些行,并将它们放在单独的列表中。 示例:

    Name   Job   Company   Location
 1.  n1     j1      c1        l
 2.  n2     j2      c2        l
 3.  n3     j3      c3        x
 4.  n4     j4      c4        l

是否可以仅删除位置为“ x”(第3行)的行?

2 个答案:

答案 0 :(得分:0)

我将这两个组提取到单独的DFS中

same_df = df.query('location == "<onethatisthesame>"')

然后我将重复此操作,但要使用!=来获取其他人

other_df = df.query('location =! "<onethatisthesame>"')

答案 1 :(得分:0)

您可以使用:

import pandas as pd

# df = df[df['location'] == yourRepeatedValue]

df = pd.DataFrame(columns = ['location'] )
df.at[1, 'location'] = 'mars'
df.at[2, 'location'] = 'pluto'
df.at[3, 'location'] = 'mars'
print(df)
df = df[df['location'] == 'mars']
print(df)

这将创建一个仅包含yourRepeatedValue的新DataFrame。

在示例中,新的df将不包含与'mars'

不同的行。

输出为:

  location
1     mars
2    pluto
3     mars
  location
1     mars
3     mars