Python 将布尔选择器解析为my函数中的数据帧
Python 3.6 我希望能够有一个函数,该函数将布尔选择器用于数据类型。熊猫使用的是Python 将布尔选择器解析为my函数中的数据帧,python,pandas,Python,Pandas,Python 3.6 我希望能够有一个函数,该函数将布尔选择器用于数据类型。熊猫使用的是[]切片语法,我似乎无法在函数中复制这种语法 我想我想知道 键入时调用什么函数 import pandas as pd df = pd.DataFrame(<data>) result = df.<somecolumn>[<Boolean selector>] 将熊猫作为pd导入 df=pd.DataFrame() 结果=df。[] 我想写一个函数来实现这一点: d
[]
切片语法,我似乎无法在函数中复制这种语法
我想我想知道
键入时调用什么函数
import pandas as pd
df = pd.DataFrame(<data>)
result = df.<somecolumn>[<Boolean selector>]
将熊猫作为pd导入
df=pd.DataFrame()
结果=df。[]
我想写一个函数来实现这一点:
def apply_selector(df, column, selector):
return df.column.<a function>(selector) # <a function> represents a conceived function that pandas executes when the `[]` slice syntax is used with a Boolean selector
def应用选择器(df、列、选择器):
返回df.column。这就是我试图通过一个函数来实现的
您可以尝试使用查询来实现您的功能:
df = pd.DataFrame({'A': [1,2,3,4,5], 'B': [2,2,2,4,4]})
def apply_selector(df, column, selector):
return df.query(selector)[column]
apply_selector(df, 'A', 'A >= 3')
#2 3
#3 4
#4 5
#Name: A, dtype: int64
您可以尝试使用query
实现您的函数:
df = pd.DataFrame({'A': [1,2,3,4,5], 'B': [2,2,2,4,4]})
def apply_selector(df, column, selector):
return df.query(selector)[column]
apply_selector(df, 'A', 'A >= 3')
#2 3
#3 4
#4 5
#Name: A, dtype: int64
如何调用该函数<代码>应用选择器(df,'some col','x>0')
?是的^@Jamesschiner您可以接受Psidom的答案~该函数应该如何调用<代码>应用选择器(df,'some col','x>0')
?是的^@Jamesschiner你可以接受Psidom的答案~太棒了,有时候当你甚至难以描述你想做什么的时候,在文档中很难找到你想要的!谢谢是的,这就是我所想的,你把它做成了~~+1美,有时候,当你甚至难以描述你想做什么的时候,在文档中很难找到你想要的东西!谢谢是的,这就是我想的,你做到了