如何忽略熊猫列中的值?

时间:2019-12-29 18:15:08

标签: python pandas pandas-groupby

我想知道-选择该列后,如何忽略该列中不必要/不必要的值?例如,假设我有一个10x2 df

import pandas as pd

data = [['jamie', 30], ['cersei', 30], ['tyrion', 25], ['tywin', 56], ['robb', 18], ['jon', 18], ['arya', 9], ['sansa', 14], ['bran', 7], ['nedd', 42]]

df = pd.DataFrame(data, columns = ['Name', 'Age'])

print(df)

          Name          Age

0        jamie          30

1        cersei         30

2        tyrion         25

3        tywin          56

4        robb           18

5        jon            18

6        arya           9

7        sansa          14

8        bran           7

9        nedd           42

如果我想忽略'Name'列中的某个值,例如jamie,该怎么办?或'Age'列,例如任何> 18

您还将如何在Pandas groupby命令中进行此操作?还是忽略plot之前不需要的值?

如果我有一个10x4 dataframe并且只想查看这两列,我将键入一个groupby命令:groupby(['Name', 'Age'])

但是如果我不想在jamie列中包含Name值,我将如何编写此命令?

3 个答案:

答案 0 :(得分:0)

对于“年龄”,只需使用loc过滤

df_01 = df.loc[df['Age'] <= 18]

df_01输出

    Name    Age
4   robb    18
5   jon     18
6   arya    9
7   sansa   14
8   bran    7

至于使用“ jamie”这个名字,类似的方法...

df_02 = df.loc[df['Name'] != 'jamie']

df_02.head

    Name    Age
1   cersei  30
2   tyrion  25
3   tywin   56
4   robb    18
5   jon     18
6   arya    9
7   sansa   14
8   bran    7
9   nedd    42

希望这会很有用

答案 1 :(得分:0)

在代码后添加代码,您将得到答案: print(df[df['Name']!='jamie']) print(df[df['Age']>=18]) 这样,我们可以在数据框中应用任何条件。

答案 2 :(得分:0)

您要过滤数据。

import pandas as pd

data = [['jamie', 30], ['cersei', 30], ['tyrion', 25], ['tywin', 56], ['robb', 18], ['jon', 18], ['arya', 9], ['sansa', 14], ['bran', 7], ['nedd', 42]]

df = pd.DataFrame(data, columns = ['Name', 'Age'])

这样的过滤器

 df = df[df.Age>18]

仅返回Age大于18的数据。

要过滤名称,请尝试此操作

df = df[df.Name!='jamie']

对于上述每个示例,您可以创建一个新的数据框df_new或类似的数据。上面我通过删除这些条目来修改df。