如何使用'filter'关键字和lambda函数来过滤pandas DataFrame中的特定列?
import pandas as pd数据= [{"语言":"Python","增长百分比":56%}, {"语言":"Java","增长百分比":34%}, {"语言":"C","增长百分比":25%}, {"语言":"c++","增长率":12%}, {"语言":"去","增长率":5%})df = pd.DataFrame(data)
f = lambda x: x['Percent grow']>30.df.filter (f)
IIUC,您希望pandas.DataFrame.loc
具有布尔索引:
df.loc[df["Percent grow"].gt(30)]
用pandas.DataFrame.filter
表示,一种方法是:
(
df
.set_index("Percent grow")
.pipe(lambda x: x.filter([x for x in x.index if x>30], axis=0))
.reset_index()
.reindex(df.columns, axis=1)
)
输出:
Language Percent grow
0 Python 56
1 Java 34