gpt4 book ai didi

python - 使用应用于列/系列的函数子集 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-04 16:24:48 24 4
gpt4 key购买 nike

我有一个 Pandas 数据框 df,我想根据通过某个函数 is_valid() 运行 Name 的结果对其进行子集化

import pandas as pd

data = [['foo', 10], ['baar', 15], ['baz', 14]]
df = pd.DataFrame(data, columns = ['name', 'age'])
df

name age
0 foo 10
1 baar 15
2 baz 14

该函数检查输入字符串的长度是否为 3,并返回 True 或 False:

def is_valid(x):
assert isinstance(x, str)
return True if len(x) == 3 else False

我的目标是子集 df 这个函数返回 True,这将返回一个输出

    name    age
0 foo 10
2 baz 14

以下语法返回错误;如果输出满足条件(在这种情况下 = True),将函数应用于列(系列)的值并设置数据帧的子集的正确语法是什么?

df[is_valid(df['name'])]

最佳答案

试试:

df[df['name'].str.len()==3]

或将您的代码与 apply 一起使用:

df[df['name'].apply(is_valid)]

关于python - 使用应用于列/系列的函数子集 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66962823/

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