# Finding out basic statistical information on your dataset.
pd.options.display.float_format = '{:,.3f}'.format
# Limit output to 3 decimal places.
df.describe()
这将返回一张表,其中有诸如总数、均值、标准差之类的统计数据:
过滤数据
在 Pandas 中有多种方法可以实现提取我们想要的信息:
比如我们想提取一整列,使用列的标签可以非常简单地做到:
# Getting a column by label
df['rain_octsep']
当我们提取列的时候,会得到一个 series ,而不是 dataframe。记得我们前面提到过,我们可以把 dataframe 看作是一个 series 的字典,所以在按照列名抽取列的时候,我们就会得到一个 series,类似于在字典中根据key取得value。
我们可以方便地对一个列中的数据进行过滤,例如:
# Creating a series of booleans based on a conditional
df.rain_octsep < 1000
上面的代码将会返回一个由布尔值构成的 dataframe。True 表示在十月-九月降雨量小于 1000 mm,False 表示大于等于 1000 mm。
我们可以用这些条件表达式来过滤现有的 dataframe。
# Using a series of booleans to filter
上面的代码将 water_year 列设置为索引。注意,列的名字实际上是一个列表,虽然上面的例子中只有一个元素。如果我们想设置多个索引,只需要在列表中加入列的名字即可。
上例中我们设置的索引列中都是字符型数据(比如以字符串记录的年份),这意味着我们不能继续使用 iloc 来引用,那我们用什么呢?用 loc 。
# Getting a row via a label-based index