Pandas 对整个数据集进行单行过滤 - 它是如何实现的?



我现在才进入这个美妙的库,对过滤甚至列操作的方式感到非常困惑,并试图了解这是熊猫还是 python 本身的功能。更准确地说:

import pandas
df = pandas.read_csv('data.csv')
# Doing
df['Column'] # would display all values from Column for dataframe
# Even moreso, doing
df.loc[df['Column'] > 10] # would display all values from Column greater than 10
# and is the same with
df.loc[df.Column > 10] 

所以列既是属性又是键,所以数据帧既是字典又是对象?或者也许我缺少一些我不知道的基本 python 功能......访问列基本上是遍历整个数据集?这是如何实现的?

数据集中的列过滤或列操作或整体数据操作是熊猫库本身的一个功能。使用 pd.read_csv 加载数据后,数据集将作为 pandas 数据帧存储在类似字典的容器中。那么,数据帧的每一列都是熊猫的系列对象。这取决于您尝试访问列的方式,是作为属性(df.columnname(还是键(df['columnname'](。虽然你可以在两种访问方式上应用像.head((或.tail((或.shape或.isna((这样的方法。在访问某个列时,它会遍历整个数据集并尝试匹配您输入的列名称。如果匹配,则显示输出,否则它会抛出一些 KeyError 或 AttributeError 取决于您访问它的方式。

最新更新