from pandas import DataFrame, Series import pandas as pd import numpy as np contries = { '中国': {'2013': 10, '2014': 20, '2015': 30}, '阿富汗': {'2013': 12, '2014': 25, '2015': 33}, '新加坡': {'2013': 11, '2014': 22, '2015': 38}, '柬埔寨': {'2013': 18, '2014': 16, '2015': 27}, } # 外层key做列索引,内层key做行索引 data_frame1 = DataFrame(contries) data_frame1
网络异常,图片无法展示
|
- 获取元素
# 获取列数据 data_frame1['阿富汗']
2013 12 2014 25 2015 33 Name: 阿富汗, dtype: int64
# 获取指定多列数据 data_frame1[['柬埔寨', '中国', '阿富汗']]
网络异常,图片无法展示
|
对于DataFrame的行的标签索引,我引入了特殊的标签运算符loc和iloc。它们可以让你用类似NumPy的标记,使用轴标签(loc)或整数索引(iloc),从DataFrame选择行和列的子集。
# 获得列切片数据 data_frame1.iloc[:, 1: 3]
网络异常,图片无法展示
|
# 获取行数据, loc里面可以放字符串标签和布尔值、数组 data_frame1.loc['2014']
中国 20 阿富汗 25 新加坡 22 柬埔寨 16 Name: 2014, dtype: int64
# 获取多行数据 data_frame1.loc[['2013', '2014']]
网络异常,图片无法展示
|
data_frame1.loc[['2013', '2014'], ['阿富汗','柬埔寨']]
网络异常,图片无法展示
|
# 查找中国大于15的行 data_frame1.loc[data_frame1.阿富汗 > 15]
网络异常,图片无法展示
|
# 查找中国大于15的行,保留中国 阿富汗 两列 data_frame1.loc[data_frame1.中国 > 12, ['阿富汗', '中国']]
网络异常,图片无法展示
|
# 位置下标获取行数据 data_frame1.iloc[0]
中国 10 阿富汗 12 新加坡 11 柬埔寨 18 Name: 2013, dtype: int64
# 切片获得区间数据,以下两种效果一样 data_frame1.iloc[1:] data_frame1[1:]
网络异常,图片无法展示
|
# 数组切片索引 data_frame1.iloc[1:, [0, 1]]
网络异常,图片无法展示
|
# 数组切片索引 data_frame1.iloc[1:, 1:]
网络异常,图片无法展示
|