Pandas基础
1. Pandas文件读取
import pandas as pd
import numpy as np
"""
pandas读取数据最常见的有读取csv,excel,txt文件,分别用read_csv,read_excel,read_table三个函数读取.他们传入的参数主要有文件路径,header=Non
e表示第一行不作为列名, index_col 表示把某一列或几列作为索引,usecols表示读取列的集合,默认读取所有的列,parse_dates 表示需要转化为时间的列,nr
ows 表示读取的数据行数.
"""
# 读取txt文件时,如果分隔符不是空格,则需要指定分隔符
txt = pd.read_table('./234.txt', header=None, sep=r'/')
print(txt)
# pandas中没有定义to_table函数,但是to_csv可以保存为txt文件,并且允许自定义分隔符,常用制表符\t分割,即空格来分割
txt.to_csv('./123.txt', sep='\t', index=False) # index=False表示保存文件时不保存索引,这样是明智的
2. 一些常用的Pandas操作函数
import pandas as pd
import numpy as np
"""
对pandas的一些基础操作:显示信息的函数有head,tail,info,describe;统计函数有sun,mean,std,max等
替换函数用replace,排序函数有sort_values和sort_index
"""
# 1. head,tail函数分别表示返回表或者序列的前n行和后n行,其中n默认为5,info(),describe()函数
df = pd.read_csv('./data/learn_pandas.csv')
df = df[df.columns[:7]] # 这里取前七列
print(df.head(2), df.tail(2), df.info(), df.describe(), sep='\n')
# 2. 在 Series 和 DataFrame 上定义了许多统计函数,最常见的是 sum, mean, median, var, std, max, min
df_demo = df[['Weight', 'Height']]
print(df_demo.mean(), df_demo.max(), sep='\n')
print(df_demo.mean(axis=1).head()) # axis=1表示对列进行操作
# 3. 替换函数,一般都是针对某一列进行的,在 replace 中,可以通过字典构造,或者传入两个列表来进行替换
gender_1= df['Gender'].replace({'Female': 1, 'Male': 0}).head()
gender_2 = df['Gender'].replace(['Female', 'Male'], [0, 1]).head()
print(gender_1, gender_2, sep='\n')
# 逻辑替换:where 函数在传入条件为 False 的对应行进行替换,而 mask 在传入条件为 True 的对应行进行替换,当不指定替换值时,替换为缺失值NaN
s = pd.Series([-1, 1.2345, 100, -50])
print(s.where(s<0), s.mask(s<0), s.mask(s<0, 100), sep='\n')
# 4. 排序函数,排序共有两种方式,其一为值排序,其二为索引排序,对应的函数是 sort_values 和 sort_index
print(df_demo.sort_values('Height').head()) # 默认参数 ascending=True 为升序
# 索引排序的用法和值排序完全一致,只不过元素的值在索引中,此时需要指定索引层的名字或者层号,用参数 level 表示
print(df_demo.sort_index(ascending=False).head()) # 这里没有传入level=‘索引号’。就默认用他的数字索引