Python 数据分析函数汇总

常用模块

import pandas as pd

常用函数

1、pd.read_csv(): 读取csv文件

Data = pd.read_csv('Data.csv',sep=',',dtype=object)

2、pd.to_csv(): 写入csv文件

链接: link

3、head(): 返回前n行的dataframe

tail():返回后n行的dataframe

head() 函数:返回前n行的dataframe。默认参数为5

import pandas as pd
Data = pd.read_csv('Data.csv',sep=',',dtype=object)
print(Data.head(6))
print(Data.tail())

4、shape: 数据集大小

shape函数的作用是查看行数和列数。

import pandas as pd
Data = pd.read_csv('Data.csv',sep=',',dtype=object)
print(Data.shape)

5、loc[],iloc[]: 选择数据

(1)loc[]函数:按标签取数据
loc[行索引,列名/column](如果第二个参数的个数是全部即 : ,可以省略不写)。

print(Data.loc[1,'name'])    # 索引1(行),名为‘name’的列

(2)iloc[]函数:按位置索引取数据
iloc[行索引,列索引](没有逗号及以后就是默认列为所有列)

print(Data.iloc[1,0])   # 第2行第1列的值
print(Data.iloc[-5:,[0,2,4,6]])  # 最后5行第1,3,5,7列的值

6、isna().any(axis=0)/pd.isnull().any(axis=0): 数据集每列信息是否有为空值

any () 函数用于判断给定的可迭代参数 iterable 是否都为 False,如果是,any ()操作后的结果返回 False,如果给定的可迭代参数 iterable其中有一个为 True,any ()操作后的结果则返回 True。
axis=0:方向沿着列;axis=1方向沿着行,默认axis=0

print(Data.isna().any())
print(Data.isna().any(axis=0))
print(Data.isnull().any(axis=0))

7、value_counts(): 对每个项进行计数

value_counts() :返回一个序列 Series,该序列包含每个值的数量。i.e. 对于数据框中的任何列,value-counts () 方***返回该列每个项的计数。
参数:
normalize = True :返回的对象将包含各个值的相对频率(默认False)
ascending = True:升序(默认False)
dropna = False:对无效值进行计数(默认True)

print(Data.Language.value_counts())

8、max(),min(),mean(),std(),var(),mode(),median(): 最大值,最小值,平均值,标准差,方差,中位数

9、unique():返回的是去重之后的不同值

print(Data.Language.nunique())

10、nunique():直接返回不同值的个数

print(Data.Language.tolist())

11、quantile():计算四分位数

当q=0.25 0.5 0.75 时,就是在计算四分位数。

print(Data.iloc[:,[2,6]].quantile(0.25))

12、str.len():用于确认每个字符串的长度。此方法仅适用于一系列字符串。

由于这是一个字符串方法,因此必须在每次调用.str之前添加前缀。否则会产生错误。

print(Data['Name'].str.len())

13、dropna():去掉有缺失数据的行

DataFrme.dropna(axis=0,how=’any’,thresh=None,subset=None,inplace=False)
参数:
axis: 默认axis=0。0为按行删除,1为按列删除
how: 默认 ‘any’。 ‘any’指带缺失值的所有行/列; 'all’指清除一整行/列都是缺失值的行/列
thresh: int,保留含有int个非nan值的行
subset: 删除特定列中包含缺失值的行或列
inplace: 默认False,即筛选后的数据存为副本,True表示直接在原数据上更改

print(Data.dropna())

14、fillna():用指定的值去填充dataframe中的缺失值

df.fillna(a)
其中:参数a表示的是常数或字典,若a为常数,则用常数a填充缺失值,若a为字典,则表示第key列的缺失值用key对应的value值填充,如:df.fillna({0:10,1:20}),表示用10去填充第0列的缺失值,用20去填充第1列的缺失值;
inplace为可选参数,默认为False,表示不修改原对象,若指定inplace=True,则直接修改原对象。
fillna()函数的返回值:若指定inplace=True,则函数返回值为None,若未指定,则函数返回填充缺失值后的数据。

Data.fillna({'Graduate_year':2022, 'Language':'Python', 
             'Achievement_value':Data.Achievement_value.mean().round(0)}, inplace=True)
res = Data.fillna({'Graduate_year':2022, 'Language':'Python', 
             'Achievement_value':Data.Achievement_value.mean().round(0)})

15、duplicated():查找并判断数据表中的重复值

当两条记录中所有的数据都相等时duplicated函数才会判断为重复值
duplicated支持从前向后(first),和从后向前(last)两种重复值查找模式
默认是从前向后进行重复值的查找和判断,也就是后面的条目在重复值判断中显示为True

参数
subset: 列标签
keep: {‘first’, ‘last’, False}, 默认值 ‘first’
first: 保留第一次出现的重复项。
last: 删除重复项,仅保留最后一次出现的重复项
False: 删除所有重复项
inplace:布尔值,默认为False,是否删除重复项或返回副本

print(Data.duplicated()) 
print(Data.duplicated(subset=None, keep='first')) 
Data.duplicated().sum() #计算有多少个重复值

16、drop_duplicates():删除数据表中的重复值,判断标准和逻辑与duplicated函数一样

print(Nowcoder.drop_duplicates())

17、pd.to_datetime():将给定的数据按照指定格式转换成日期格式

to_datetime(data,error = ‘raise’,format=None)
data:输入
errors:错误数据处理
format:日期格式

import pandas as pd
Data = pd.read_csv('Data.csv',sep=',',dtype=object)
Data['Time'] = pd.to_datetime(Data['Time'],format='%Y-%m-%d')
Data['Time'] = pd.to_datetime(Data['Time'],format='%Y-%m-%d %H:%M:%S')

#to_datetime默认有时间精度,.dt.date去掉分钟,得到日期列表

b['date'] = pd.to_datetime(Data.date).dt.date

18、pd.DataFrame():将数据转换成表格格式

#  将json文件转换为表格形式
import pandas as pd
import json

with open('Nowcoder.json', 'r') as f:
    data = json.loads(f.read())
print(pd.DataFrame(data))

19、groupby():将数据根据某个(多个)字段划分为不同的群体(group)

链接: link

group = Data.groupby("company")

20、describe():产出其数据的个数 (count),均值 (mean),标准差 (std),最小值 (min),25, 50 和 75 百分位数 (25%, 50%, 75%) 和最大值 (max)

print(Data.describe())

你可能感兴趣的:(Python,python,数据分析,pandas)