Pandas使用一个二维的数据结构DataFrame来存放表格式的数据。相比于Numpy,Pandas可以存放混合数据类型的数据,同时可用NaN表示缺失的数据,而不用像Numpy一样要手工处理缺失数据。
读取数据
Pandas使用函数read_csv()来读取csv文件
import pandas
food_info = pandas.read_csv('food_info.csv')
print(type(food_info))
# 输出: 返回一个DataFrame类对象
可使用head()方法显示前n条数据,若未指定参数,则默认显示前5条
first_rows = food_info.head(5)
可使用columns属性显示全部的列名
print(food_info.columns)
# 输出全部的列名,而不是用省略号代替
Index(['NDB_No', 'Shrt_Desc', 'Water_(g)', 'Energ_Kcal', 'Protein_(g)', 'Lipid_Tot_(g)', 'Ash_(g)', 'Carbohydrt_(g)', 'Fiber_TD_(g)', 'Sugar_Tot_(g)', 'Calcium_(mg)', 'Iron_(mg)', 'Magnesium_(mg)', 'Phosphorus_(mg)', 'Potassium_(mg)', 'Sodium_(mg)', 'Zinc_(mg)', 'Copper_(mg)', 'Manganese_(mg)', 'Selenium_(mcg)', 'Vit_C_(mg)', 'Thiamin_(mg)', 'Riboflavin_(mg)', 'Niacin_(mg)', 'Vit_B6_(mg)', 'Vit_B12_(mcg)', 'Vit_A_IU', 'Vit_A_RAE', 'Vit_E_(mg)', 'Vit_D_mcg', 'Vit_D_IU', 'Vit_K_(mcg)', 'FA_Sat_(g)', 'FA_Mono_(g)', 'FA_Poly_(g)', 'Cholestrl_(mg)'], dtype='object')
可将columns的输出转换为list类型
food_info.columns.tolist()
# 将columns的输出转换为list类型
有shape属性显示表格的维度
print(food_info.shape)
# 输出(8618, 36)
各个列可使用的数据类型包括:
dtypes属性会给出每一列数据的数据类型
print(food_info.dtypes)
# 输出:每一列对应的数据类型
NDB_No int64
Shrt_Desc object
Water_(g) float64
Energ_Kcal int64
Protein_(g) float64
...
创建一个Pandas DataFrame对象:
df = pandas.DataFrame([[1, 2], [4, 5], [7, 8]],
index=['cobra', 'viper', 'sidewinder'],
columns=['max_speed', 'shield'])
返回数据如下:
max_speed | shield | |
cobra | 1 | 2 |
viper | 4 | 5 |
sidewinder | 7 | 8 |
若不指定index和columns:
df = pandas.DataFrame([[1, 2], [4, 5], [7, 8]])
则从0开始对其index和columns编号
0 | 1 | |
0 | 1 | 2 |
1 | 4 | 5 |
2 | 7 | 8 |
读取某一行的数据:
df.loc[index],若没有指定index,则输入行号(从0开始)
读取某一列的数据:
df[column],若没有指定column,则输入column(从0开始)