如何忽略Pandas栏中的值?

2024-05-16 02:23:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道-一旦选择了某个列,如何忽略该列中不需要的/不必要的值?例如,假设我有一个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

在Pandasgroupby命令中,您将如何处理这个问题?或者在plot之前忽略不需要的值

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

但是如果我不想在Name列中包含jamie值,我该如何编写这个命令呢


Tags: name命令dfagedatapdjonarya
3条回答

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

你想过滤你的数据

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]

仅返回年龄大于18岁的数据

要筛选名称,请尝试以下操作

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

对于上面的每一个例子,您都可以创建一个新的数据帧df\u new或类似的东西。上面我通过删除这些条目来修改df

对于这个年龄,就用loc过滤吧

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

df\ U 01输出

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

至于用“杰米”这个名字,类似的方法

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

希望这能有用

相关问题 更多 >