基本操作:
import pandas as pd
# 读取csv文件
df = pd.read_csv(‘文件路径‘)
# 展示读到的前5条数据,()中可指定条数
df.head()
df.head(8)
# 展示读到的信息
df.info()
# 索引信息
df.index
# 列名信息
df.columns
# 每一列的类型
df.dtypes
# 每一行的数值
df.values
自定义dataframe结构
# 字典形式构造
data = {‘country‘:[‘aaa‘,‘bbb‘,‘ccc‘],
‘people‘:[12,34,56]}
my_data = pd.DataFrame(data,index=[‘A‘,‘B‘,‘C‘])
my_data
# 二维数组的形式构造
my_data = pd.DataFrame([[‘aaa‘,12],[‘bbb‘,34],[‘ccc‘,56]],
index=[‘A‘,‘B‘,‘C‘],
columns=[‘country‘,‘people‘])
my_data
取指定的数据
#取单独列的指定数据
age = df[‘Age‘] # df[‘列名‘],取到某一列的数据
#取多个列的数据
df[[‘Age‘,‘Fare‘]][:5]
# 切片,取前几位
age[:5]
age.head()
series:dataframe中的一列/一行
自定义索引
df.set_index(‘Name‘)[‘Age‘].head() #索引变成了Name那一列的值
数据的统计特性:
df.describe()
定位:
loc 用label来去定位
iloc 用position来去定位
# 取到数据集中的前五行,二三列的值
df.iloc[0:5,1:3]
# 取到索引为Allen, Mr. William Henry的Sex列的值
df = df.set_index(‘Name‘)
df.loc[‘Allen, Mr. William Henry‘][‘Sex‘]
df.loc[‘Allen, Mr. William Henry‘,‘Sex‘]
bool类型的索引:
df[df[‘Fare‘]>50].head()
groupby操作:
# 按Sex分类,然后按照Age值统计 最大值
df.groupby(‘Sex‘)[‘Age‘].max()
数值运算操作:
sum min max mean median
# 不指定时,axis = 0 ,axis = ‘index‘按列求和
df.sum()
df.sum(axis = 0)
df.sum(axis = ‘index‘)
# 指定axis = 1,axis = ‘columns‘按行操作
df.sum(axis = 1)
df.sum(axis = ‘columns‘)
二元统计:
df.cov() # 协方差
df.corr() # 相关性系数
df[‘Age‘].value_counts() # Age列的数值出现的次数降序排列
df[‘Age‘].value_counts(ascending = True,bins = 5) # 分区间 升序
df[‘Age‘].count() # 统计有值的次数
对象的增删改查:
Series结构的增删改查
#构造一个Series对象
data = [10,11,12]
index = [‘a‘,‘b‘,‘c‘]
s = pd.Series(data=data,index=index)
# inplace=True改变S1原始值
s1.replace(to_replace=100,value=200,inplace=True)
# 改索引,全部
s.index = [‘a‘,‘a‘,‘c‘]
# 单独改某个索引
s.rename(index = {‘a‘:‘A‘},inplace = True)
# 增加
s2 = s.append(s1,ignore_index = False) # s1追加到s后面,ignore_index = False保留原来的索引
s2[‘k‘] = 120 # s2中增加k:120
# 删除
del s2[‘c‘] # 根据索引,单个删除
s2.drop([‘g‘,‘A‘],inplace = True) # 多个删除
dataframe结构的增删改查
增加
pd.concat([df1,df2],axis=1)
删除
df.drop()
原文:https://www.cnblogs.com/freedom2020/p/14674972.html