【发布时间】:2021-07-01 21:26:45
【问题描述】:
我有一个 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'])]
【问题讨论】:
标签: python pandas dataframe lambda subset