索引
列索引
访问一列数据:
data["columns"]
访问多列数据:
data[["columns_1","columns_2",...]]
import pandas as pd
# 先建一个数组或直接打开csv文件
data = {'第一季度':[55,78,93,44],'第二季度':[87,55,64,50],'第三季度':[62,67,72,58]}
cost = ["食品","日用品","交通出行","生活服务"]
data = pd.DataFrame(data,index=cost)
# 单行索引
print(data["第一季度"])
print(data["第二季度"])
# 多行索引
print(data[["第一季度","第二季度","第三季度"]])
行索引
.loc
属性
访问某一行:
.loc[index的值]
访问连续的几行:
.loc[起点index的值:结束index的值]
包括结束index这一行的数据
访问不连续的某几行:
.loc[[第一个index的值,第二个index的值,……]]
import pandas as pd
# 先建一个数组或直接打开csv文件
data = {'第一季度':[55,78,93,44],'第二季度':[87,55,64,50],'第三季度':[62,67,72,58]}
cost = ["食品","日用品","交通出行","生活服务"]
data = pd.DataFrame(data,index=cost)
# 访问一行
print(data.loc["食品"])
# 访问连续几行
print(data.loc["食品":"交通出行"])
# 访问不连续的几行
print(data.loc[["食品","生活服务","日用品"]])
访问单个元素:
.loc[index的值,columns的值]
访问多个元素:
.loc[index切片或列表,columns切片或列表]
import pandas as pd
# 先建一个数组或直接打开csv文件
data = {'第一季度':[55,78,93,44],'第二季度':[87,55,64,50],'第三季度':[62,67,72,58]}
cost = ["食品","日用品","交通出行","生活服务"]
data = pd.DataFrame(data,index=cost)
# 访问单个元素
print(data.loc["食品","第一季度"])
# 访问多个元素
print(data.loc["食品":"日用品","第一季度":"第三季度"])
print(data.loc[["食品","交通出行"],["第一季度","第三季度"]])
.iloc
属性
访问某一行:
.iloc[index的值]
访问连续的几行:
.iloc[起点index的值:结束index的值]
不包括结束index这一行的数据
访问不连续的某几行:
.iloc[[第一个index的值,第二个index的值,……]]
访问单个元素:
.iloc[index的值,columns的值]
访问多个元素:
.iloc[index切片或列表,columns切片或列表]
(与.loc用法类似)
数据筛选
布尔索引
一个判断条件
data[data["索引对象"]>0]
条件表达式:
- pandas通过条件表达式得到一个布尔型Series,再通过这个Series来索引数据。
- 常见的比较运算符有:==,<,>,>=,<=,!=
- 常见的逻辑运算符有:&,|,~
import pandas as pd
# 先建一个数组或直接打开csv文件
data = {'第一季度':[55,78,93,44],'第二季度':[87,55,64,50],'第三季度':[62,67,72,58]}
cost = ["食品","日用品","交通出行","生活服务"]
data = pd.DataFrame(data,index=cost)
print(data[data["第一季度"]>70]["第一季度"])
多个判断条件
data[(data["cutdwn price"]>0)&(data["post_fee" ]>0)]
import pandas as pd
# 先建一个数组或直接打开csv文件
data = {'第一季度':[55,78,93,44],'第二季度':[87,55,64,50],'第三季度':[62,67,72,58]}
cost = ["食品","日用品","交通出行","生活服务"]
data = pd.DataFrame(data,index=cost)
print(data[(data["第一季度"]>70) & (data["第三季度"]>70)])
注意:
过程等同于先进行第一个判断,然后在此结果的基础上再进行第二个判断,以此类推。
文件读取
在pandas模块中,读取CSV文件主要使用pd.read_csv()函数。
参数
必选参数:
要读取的CSV文件的文件路径。
可选参数:
指定行索引:index_col
获取指定列:uescols
添加columns:header=None
和names
设置格式参数encoding=“utf-8”,避免读取csv文件乱码。
保存文件
data.to_csv("/Users/mile.csv")
对于一个DataFrame对象执行语句:
DataFrame.to_csv()
必选参数
要保存的CSV文件的文件路径
可选参数
设置索引参数index=False,这样就不会讲行索引信息写入第一列。
设置格式参数encoding=“utf-8-sig”,避免生成的csv文件乱码
读取Excel文件
data = pd.read_excel()
在pandas模块中,读取Excel文件主要使用pd.read_excel()函数。
参数
必选参数:
读取的Excel文件的文件路径
可选参数:
当我们需要读取指定工作表时,pd.read_excel()函数提供了一个参数:sheet_name,要将读取的工作表名称作为字符串传入该参数即可。
data = pd.read_excel(".xlsx",sheet_name="工作表")