gpt4 book ai didi

python - 如何过滤 Pandas 系列?

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:22 25 4
gpt4 key购买 nike

我想过滤 Pandas 系列以删除某些值。这似乎是一项如此简单的任务,但是对 same question 的首选答案对我不起作用。

这是我的可重现示例:

data = np.array([['','Col1','Col2'],
['Row1',1,2],
['Row2',3,4]])

myDF = pd.DataFrame(data=data[1:,1:],
index=data[1:,0],
columns=data[0,1:])

mySeries = myDF.loc[:, "Col1"]
mySeries[mySeries != 1]

我希望最后一行输出一行,包含值 3,但我却得到:

Row1    1
Row2 3
Name: Col1, dtype: object

我做错了什么?

最佳答案

考虑您正在创建的 NumPy 数组的数据类型:

data = np.array([['','Col1','Col2'],
['Row1',1,2],
['Row2',3,4]])

print(data)

array([['', 'Col1', 'Col2'],
['Row1', '1', '2'],
['Row2', '3', '4']],
dtype='<U4')

在提供给 np.array 之前,在嵌套列表中组合字符串和整数创建一个字符串数组,由 '<U4' 证明, 表示最大字符数。

如果你改用列表,你就不会遇到这个问题,因为实现确保了一个数组是用适当的类型创建的:

data = [['','Col1','Col2'],
['Row1',1,2],
['Row2',3,4]]

myDF = pd.DataFrame(data=[i[1:] for i in data[1:]],
index=[i[0] for i in data[1:]],
columns=data[0][1:])

关于python - 如何过滤 Pandas 系列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53083967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com