使用两个字符串对数据帧进行切片

2024-04-19 06:47:38 发布

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

我有一个很大的数据框。我想选择适用于Machine1和北美的数据。所以如果Machine1和北美是一行数据,我想保留这行。你知道吗

我知道怎么做只有一个要求:

df = df[df['MachineNumber'].isin(['Machine1'])]

完美的工作和切片所有我需要的数据。然而,我不知道如何做到这两点。你知道吗

我试过两次,分别这样做:

df = df[df['MachineNumber'].isin(['Machine1'])]
df = df[df['Region'].isin(['NorthAmerica'])]

我也试过了

df = df[(df['Region']=='NorthAmerica') & (df['MachineNumber']=='Machine1')]

但是这两次尝试都抛出了错误TypeError: unsupported type for add operation,并且返回了一个只有列名的空数据帧。我也看了网上的解决方案,但他们关注的是第二个解决方案,但用的是数字而不是字符串。我怎样才能做到这一点?你知道吗

数据帧输入的一个例子是csv,称为排序数据.csv有两列:

Region  MachineNumber
EU  Machine1
EU  Machine1
EU  Machine1
EU  Machine1
EU  Machine1
EU  Machine1
EU  Machine1
EU  Machine1
EU  Machine2
NA  Machine2
NA  Machine2
NA  Machine2
NA  Machine2
EMEA    Machine2
NA  Machine2
NA  Machine2
NA  Machine1
NA  Machine1
NA  Machine1
NA  Machine1
NA  Machine1
NA  Machine1
NA  Machine1
NA  Machine1
NA  Machine1

代码是

import pandas as pd
df = pd.read_csv('sortingdata.csv') 

df = df[(df['Region']=='NorthAmerica') & (df['MachineNumber']=='Machine1')]

它运行良好,但在本例中打印并清空数据帧。你知道吗


Tags: csv数据df错误切片解决方案regionpd
1条回答
网友
1楼 · 发布于 2024-04-19 06:47:38

代码似乎对示例数据有效。你知道吗

# data
# ==================================
df

   Region MachineNumber
0      EU      Machine1
1      EU      Machine1
2      EU      Machine1
3      EU      Machine1
4      EU      Machine1
5      EU      Machine1
6      EU      Machine1
7      EU      Machine1
..    ...           ...
17     NA      Machine1
18     NA      Machine1
19     NA      Machine1
20     NA      Machine1
21     NA      Machine1
22     NA      Machine1
23     NA      Machine1
24     NA      Machine1

[25 rows x 2 columns]

# processing
# ===============================
df[(df['Region']=='NA') & (df['MachineNumber']=='Machine1')]

   Region MachineNumber
16     NA      Machine1
17     NA      Machine1
18     NA      Machine1
19     NA      Machine1
20     NA      Machine1
21     NA      Machine1
22     NA      Machine1
23     NA      Machine1
24     NA      Machine1

相关问题 更多 >