Pandas基本用法

Pandas基本用法

1、导入pandas库

import pandas as pd

2、导入文件

.csv

使用pd.read_csv(),常用的参数入下:

filepath_or_buffer :文件地址,可以简略写也可以完整写。

df = pd.read_csv('./datafile.csv')              #假设代码文件和目标文件在一个目录下,地址可以简略写
df = pd.read_csv('D:/Datasets/datafile.csv')    #也可以用文件的完整地址名来导入

sep: str 间隔参数,一般默认为','。(因为csv文件默认就是以逗号分隔)

header: int or list of ints. 表头所在的行号,默认是'infer'

names: array-like, default None. 给定表头名称。

dtype: Type name or dict of column -> type, default None. 可以更改列数据的类型。dtype = str或者dtype = {'Col1': str, 'Col2': int}

usecols: list-like or callable, default None. 读取指定列。

skiprows: list-like or integer, default None. 跳过指定行。

skipfooter: int, default 0. 跳过后若干行。

nrows: int, default None. 仅读取前若干行,对读取大文件有用。

na_values: scalar, str, list-like, or dict, default None. 将指定值视为Na/Nan。

na_filter: boolean, default True. 是否对缺失值(空字符串或Na/Nan)进行标记。在读大文件时,如果确认没有缺失值,则False可以提高读取性能。

parse_dates: boolean or list of ints or names or list of lists or dict, default False. 将指定列解析为日期。

.xlsx

使用pd.read_excel()

.txt

使用pd.read_txt()

.xpt

使用pd.read_sas()

3、导出文件

pd.to_excel()pd.to_csv()

4、创建文件

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006],
                   "values":[111,222,333,444,555,666]})

5、查看基本数据信息

#基本信息
df.info()
#值
df.values
#列名称
df.columns
#维度
df.shape
#每一列的格式
df.dtypes
#某一列的格式
df['Col1'].dtype
#判断每一个数据是否是空值
df.isnull()
#某一列的唯一值
df['Col1'].unique()
#前若干行数据(默认是10)
df.head()
#后若干行数据(默认是10)
df.tail()
#某一列的均值
df['Col1'].mean()
#某一列的最大值(最小值用min())
df['Col1'].max()

6、数据预处理

#用指定值(如0)来填充空值,原文件不变
df.fillna(value = 0)
#大小写转换
df['Col1'].str.lower()
#更改某一列数据格式
df['Col1'].astype('int')
#更改列名
df.rename(columns={'before_name': 'after_name'})
#数据替换
df.replace('before_value','after_value')
#设置索引列
df.set_index('Col1')
#重设索引
df.reset_index()
#按照特定列的值排列
df.sort_values(by = ['Col1'])
#按照索引列排列
df.sort_index
#按条件更改数据。(例:Col1列的值大于100,Col2列显示high,否则显示low)
df['Col1'] = np.where(df['Col2'] > 100,'high','low')
#判断是否存在给定数据
df['Col1'].isin(['values1'])

7、数据提取

#提取特定值[行][列]
df.loc[3]
df.loc[1:3][5]
#提取经过判断后的值
df.loc[df['Col1'].isin(['values1'])]
df.loc[df['Col1'].isin(['values1']), ['Col1','Col2']] #仅提取特定列
df.loc[(df['Col1']>100) & (df['Col1']<900)] 

8、读取文件夹内所有文件地址

import os
path_list = []
for fpathe,dirs,fs in os.walk(path0):  #path0是文件夹的地址
    for f in fs:                       #fs是列表,其里面包含了文件夹内所有的文件名
        path_list += [os.path.join(fpathe,f)]
posted @ 2020-10-23 18:38  ZeroCrow  阅读(461)  评论(0)    收藏  举报