类似于SQL的查询熊猫
我已经编译了几个如何使用熊猫查询功能的例子。下面的截图包含了一些有用的查询示例。下面,您可以看到如何同时满足文本和数字条件。在特定列中查找具有特定文本值的行,或者使用@符号创建描述性统计信息。例如,' @mean_of_column '是指您使用'建立的值。mean()'函数。在第65行中,返回的行“确认_恢复”本身(其蓝色值和“确认_恢复”值大于平均值)也包括“标签_3”值。
返回相等行和若干其他条件的示例。作者截图[3]。
灰色框中引用的教程代码都是用于演示查询功能的代码。首先,我导入了熊猫并读取了我的数据框。然后,我添加我知道满足特定条件的新行来展示如何使用查询功能。“append”函数很有用,因为它可以快速添加新的数据帧行,而无需在一系列格式中显式调用每一列一次。我返回“df.tail()”来查看返回的行是否符合我的预期。
然后我返回行,其中一列的值等于另一列的值。您也可以使用相同的逻辑,但是反转它来查看您指定的列的哪些值彼此不相等。接下来,您可以比较一列的值是否大于另一列的值,反之亦然。
我认为查询最有用的功能是@方法。正如SQL可以使用子查询来引用满足特定条件的行一样,这个方法也可以。在@方法中保存要比较的值。对于以下示例,我查看了要比较的列的平均值。
最后,通过在SQL中输入“类似于”和“可以使用查询函数在一行代码中执行多个条件。
#下面所有python代码供使用:
#导入库
进口熊猫作为pd
#读入你的数据帧
df=PD . read _ CSV('/Users/example . CSV ')
#写出新行
row=[PD。系列([100,100,20,' Blue ',' Label_1'],index=df.columns),
警局。系列([100,80,60,' Blue ',' Label_1'],index=df.columns),
警局。系列([80,60,100,'蓝色',' Label_1'],索引=df.columns)]
#追加多行追加多行
new_df=df.append(行,忽略_索引=True)
#检查您最近创建的3行,以检索最近创建的3行。
new_df.tail(3)
#返回一列值等于另一列值的行
#他们不做这种比较
new_df.query('已确认_测试==已确认_新建')
#返回一列值等于另一列值的行
#他们做这个比较
new_df.query('已确认_测试==已确认_恢复')
#返回一列值与另一列值不相等的行
#他们做这个比较
new_df.query('Confirmed_New!=已确认_恢复’)。头部()
#返回一列值大于另一列值的行返回一列值大于另一列值的行。
New _ df . query(‘已确认_新确认_恢复’)。头部()
#查看哪些行的“已确认_新”值
#大于总计列的平均值
#使用“@”引用“cn_mean”
#检查“已确认_新”值的行。
#大于总列数的平均值。
#用“@”指代“cn_mean”
cn _ mean=New _ df[' Confirmed _ New ']。平均值()
New _ df . query(' Confirmed _ New @ cn _ mean ')。头部()
#多个条件示例
cn_min=new_df['已确认_新建']。最小值()
cn_max=new_df['Confirmed_New']。最大值()
New _ df . query(' confirmind _ New @ cn _ min confirmind _ New @ cn _ max ')。头部()
#文本条件
#使用双引号匹配字符串值
#对于“文本功能”列,所有返回的行都有“蓝色”
new _ df . query(' Text _ Feature==' Blue ' ')。头部()
#返回具有“蓝色”值和更大的“已确认恢复”值的行
#超过“已确认恢复”本身的平均值,同时还满足“标签3”值
#此处仅返回3(未打印出head())
cr_mean=new_df['确认_恢复']。平均值()
new _ df . query(' Text _ Feature==' Blue ' Confirmed _ Recovery @ Cr _ mean Text _ Predictor==' Label _ 3 ' ')
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/88690.html