Python学习-Pandas

导入Pandas

import pandas as pd

读取数据

读取csv
food_info = pd.read_csv("food_info.csv")

基本用法

数据展示

展示头几行
food_info.head(3) #默认为5行

展示尾几行
food_info.tail(3) #默认为5行

列名称
food_info.columns

数据维度
food_info.shape #行数不包括表头

行列读取

取行数据
food_info.loc[0] #取第一行数据
food_info.loc[1:2] #取第2-3行数据
food_info.loc[[1,5]] #取第2、第6行数据

取列数据
food_info["NDB_No"] #取"NDB_No"列数据
food_info[["NDB_No","Shrt_Desc"]] #取"NDB_No"、"Shrt_Desc"列数据

找到以"(g)"结尾的列

col_names = food_info.columns.tolist() #将列名转换为list结构
gram_columns = []
for c in col_names:
    if c.endswith("(g)"):
        gram_columns.append(c)
gram_columns = food_info[gram_columns]

排序

food_info.sort_values("NDB_No", inplace=True, ascending=True)
inplace=True时改变原有dataframe数据顺序,False是生成新的dataframe,不改变原有结构
ascending=True升序,False为降序

多列排序
food_info.sort_values(["NDB_No", "Energ_Kcal"], inplace=False, ascending=False) #先以"NDB_No"列降序排序, 再以"Energ_Kcal"列降序排序
food_info.sort_values(["NDB_No", "Energ_Kcal"], inplace=False, ascending=[False, True]) #先以"NDB_No"列降序排序, 再以"Energ_Kcal"列升序排序

排序后重置index
food_info.sort_values("NDB_No", inplace=True, ascending=True).reset_index(drop=True)

缺失值查找

titanic_survival = pd.read_csv("titanic_train.csv")
age_is_null = pd.isnull(titanic_survival["Age"]) #判断"Age"列的各行数据是否为缺失值
age_null_true = titanic_survival.loc[age_is_null, "Age"] #返回缺失数据
print(len(age_null_true)) #打印缺失值个数

数据透视

#dataframe.pivot_table()类似excel数据透视表的概念

passenger_survival = titanic_survival.pivot_table(index="Pclass", values="Survived", aggfunc=np.mean)
print(passenger_survival)
              Age
Pclass           
1       38.233441
2       29.877630
3       25.140620

port_stats = titanic_survival.pivot_table(index="Embarked", values=["Fare", "Survived"], aggfunc=np.sum)
print(port_stats)
                Fare  Survived
Embarked                      
C         10072.2962        93
Q          1022.2543        30
S         17439.3988       217

port_stats = titanic_survival.pivot_table(index=["Embarked", "Pclass"], values=["Fare", "Survived"], aggfunc=np.sum)
print(port_stats)
                      Fare  Survived
Embarked Pclass                     
C        1       8901.0750        59
         2        431.0917         9
         3        740.1295        25
Q        1        180.0000         1
         2         37.0500         2
         3        805.2043        27
S        1       8936.3375        74
         2       3333.7000        76
         3       5169.3613        67

数据预处理

titanic_survival.dropna(axis = 1) #删除有缺失值的列
titanic_survival.dropna(axis = 0) #删除有缺失值的行
titanic_survival.dropna(axis = 0, subset=["Age", "Cabin"]) #删除"Age"或"Cabin"列中有缺失值行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值