Pandas引言(一)

DataFrame基本操作

使用pandas读取CSV

import pandas as pd

df = pd.read_csv('food_info.csv')
df.head(5)

df 即 pandas 的 DataFrame 对象,在Jupyter中的运行结果如下:
在这里插入图片描述

DataFrame的常用操作

查看DataFrame的shape:
在这里插入图片描述
获取表中所有数值类型的常用统计指标:
在这里插入图片描述

DataFrame的列索引

在这里插入图片描述
还可以获取将列索引转化为 list
在这里插入图片描述
列索引对象可迭代:遍历列索引对象,获取所有以 g 为单位的食材

gram_food = []
for c in df.columns:
    if c.endswith("(g)"):
        gram_food.append(c)
        
df[gram_food].head()

运行结果:
在这里插入图片描述

DataFrame列的运算

将 Protein_(g) 列的所有值乘以2:
在这里插入图片描述
将 Lipid_Tot_(g) 列的所有值乘以0.75:
在这里插入图片描述
向DataFrame中添加一个新的列 initial_rating :

df["initial_rating"] = (df["Protein_(g)"] * 2) + (df["Lipid_Tot_(g)"] * 0.75)
df.loc[:2][["Protein_(g)", "Lipid_Tot_(g)", "initial_rating"]]

运行结果:
在这里插入图片描述
看看新增加列对的最大值:
在这里插入图片描述

DataFrame关于行的操作

使用切片操作,选取特定的行:
在这里插入图片描述
在这里插入图片描述
使用 df[start: stop: step] 而不是 df.loc[start: stop: step] 时,将不包含stop行:
在这里插入图片描述
在这里插入图片描述
推荐在选取指定行时,使用 loc 的形式。如果是使用列表选取指定行时,必须添加loc,否则会报错:
在这里插入图片描述

DataFrame排序操作

依据某一列的值进行排序:

# inplace=True对DataFrame就地修改,而不是返回一个新的DataFrame
df.sort_values("initial_rating", inplace=True)
df[["Protein_(g)", "Lipid_Tot_(g)", "initial_rating"]].tail(3)

在这里插入图片描述
上述示例为升序排列,下面我们指定为降序:

df.sort_values("initial_rating", inplace=True, ascending=False)
df[["Protein_(g)", "Lipid_Tot_(g)", "initial_rating"]].head(3)

在这里插入图片描述
inplace参数的默认值为 False ,即返回一个已排序的新的DataFrame,原DataFrame不会发生改变。使用sort_index()可以根据索引重新排序 DataFrame,同理,也可以指定 inplace 参数,表示是否就地修改:
在这里插入图片描述

方法总结

DataFrame的操作

方法说明
df = pandas.read_csv(‘csv文件’)读取CSV文件为Pandas的DataFrame对象
df.head(n)返回DataFrame的头n行数据
df.columns返回列名组成的Index对象
df.shape返回DataFrame的形状(row * colus)
df.describe()以DataFrame的形式返回各数值列的统计信息

DataFrame行的操作

方法说明
df.loc[n]第n+1行记录以Series形式返回
df.loc[start: stop: step]使用切片选取DataFrame的部分记录,包含stop
df[start: stop: step]使用切片选取DataFrame的部分记录,不包含stop
df.loc[[num1, num2, num3]]使用列表选取DataFrame的部分记录

DataFrame列的操作

方法说明
df[‘列名’]获取DataFrame的某一列,类型为Series
df[‘列名’].name获取当前列的列名
df[‘列名’].dtype获取当前列的数据类型
df[[‘列名1’,‘列名2’,…]]使用列表的形式选取指定的列
df.columns.tolist()将列名以列表形式返回
df[‘新列名’] = Series对象在DataFrame中增加一列
df[‘列名’].max()求该列的最大值

指定列为依据进行排序

方法说明
df**.sort_values(**by, axis=0, ascending=True, inplace=False)返回一个排序后的DataFrame,默认为升序
df.sort_values(by, axis=0, ascending=False, inplace=True)就地降序排列,原DataFrame的顺序将被改变
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值