python数据分析——数组切片
标注:图片来自(Pandas 常用函数 | 菜鸟教程 (runoob.com))
数组切片
使用内置函数slice()切片
import numpy as np
a = np.arange(10)
s = slice(2,7,2)
print (a[s])
使用冒号切片
import numpy as np
a = np.arange(10)
b = a[2:7:2] # 从索引 2 开始到索引 7 停止,间隔为 2
c = a[2::2] # 从索引 2后面所有的索引,间隔为 2
print (a[b])
print (a[c])
使用省略号进行切片
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print (a[...,1]) # 第2列元素
print (a[1,...]) # 第2行元素
print (a[...,1:]) # 第2列及剩下的所有元素
其他切片方法

数组排序
df.sort_values('column_name')
df.sort_values(['column_name1', 'column_name2'], ascending=[True, False])
df.sort_index()
数组分组和聚合
| 函数 | 说明 |
|---|
| df.groupby(column_name) | 按照指定列进行分组; |
| df.aggregate(function_name) | 对分组后的数据进行聚合操作; |
| df.pivot_table(values, index, columns, aggfunc) | 生成透视表。 |
df.groupby('column_name')
df.aggregate('function_name')
df.pivot_table(values='value', index='index_column', columns='column_name', aggfunc='function_name')
数据合并
| 函数 | 说明 |
|---|
| pd.concat([df1, df2]) | 将多个数据框按照行或列进行合并; |
| pd.merge(df1, df2, on=column_name) | 按照指定列将两个数据框进行合并。 |
数据选择和过滤
| 函数 | 说明 |
|---|
| df.loc[row_indexer, column_indexer] | 按标签选择行和列。 |
| df.iloc[row_indexer, column_indexer] | 按位置选择行和列。 |
| df[df['column_name'] > value] | 选择列中满足条件的行。 |
| df.query('column_name > value') | 使用字符串表达式选择列中满足条件的行 |
数据统计和描述
| 函数 | 说明 |
|---|
| df.describe() | 计算基本统计信息,如均值、标准差、最小值、最大值等。 |
| df.mean() | 计算每列的平均值。 |
| df.median() | 计算每列的中位数。 |
| df.mode() | 计算每列的众数。 |
| df.count() | 计算每列非缺失值的数量。 |