1.练习
import pandas as pd import numpy as np # 1.读取名为HeightWeight.csv的文件: pr=pd.read_csv(r'heightweight.csv') # (1)查看前10行的数据 print(pr.head(10)) # (2)查看前7行的数据 print(pr.head(7)) # (3)查询特征Height(cm)=166.0的信息 print(pr[pr['Height(cm)']==166]) # (4)查询特征 Sex=0,Height(cm)=167.0的信息 print(pr[(pr['Sex']==0) & (pr['Height(cm)']==167.0)]) # (5)查询身高 170.0--175.0 之间的信息 print(pr[(pr['Height(cm)']>=170) & (pr['Height(cm)']<=175)]) print(pr[pr['Height(cm)'].between(left=170,right=175)]) # 2.读取名为测试.csv的文件,将第三行设为标题行,并将标题行的名字改为 Sex name age pp=pd.read_csv(r'测试.csv',header=2,delimiter=':',names=['sex','name','age']) print(pp) # 3.读取销售情况统计表.xlsx中的第二个子表 ppp=pd.read_excel(r'销售情况统计表.xlsx',sheet_name='1903A') print(ppp)
2.练习
import pandas as pd
import numpy as np
# 4.创建如下图所示的数据帧
data2={
'name':['Tom','Mary','Sam'],
'age':[22.0,np.NaN,18.0],
'sex':['m','f','m']
}
ffpp=pd.Dataframe(data2)
print(ffpp)
# (1)查看当前数据是否为NaN
print(ffpp.isnull())
# (2)在特征age下,是否有数据为空,并输出空的行
print(ffpp['age'].isnull())
# (3)在特征age下,输出非空的行
print(ffpp[ffpp['age'].isnull()])
# (4)统计每个特征缺失值的数量
print(ffpp.isnull().sum())
# (5)将缺失值的地方数据填充为24
print(ffpp.fillna(24))
# (6)删除有缺失值的地方所在的那一行
print(ffpp.dropna(axis=0,how='any',inplace=False))
# (7)查看数据帧的所有信息
print(ffpp.info)
# (8)查看数据的描述
print(ffpp.describe())
3.练习
import pandas as pd
import numpy as np
# 5.加载 loans.xls 数据集
pa=pd.read_excel(r'..pandas代码loans.xls')
print(pa)
# (1)统计贷款号的样本数
print(pa['贷款号'].count())
print(pa.count()['贷款号'])
print(pa['贷款号'].sum())
# print(pa.groupby('贷款号').sum())
# (2)统计贷款金额的总和
print(pa['贷款金额'].sum())
# (3)统计每月归还额的平均数
print(pa['每月归还额'].mean())
4.练习`
import pandas as pd
# 1.创建如上图所示的数据帧
# 方法一
data={
'Name':['Ella','Leo','Mark','Lily'],
'Sex':['f','m','m','f'],
'MScore':[99,88,92,85]
}
# 方法二
# data=[{'Name':'Ella','sex':'f','Mscore':99},
# {'Name':'Leo','sex':'m','Mscore':88},
# {'Name':'Mark','sex':'m','Mscore':92},
# {'Name':'MScore','sex':'f','Mscore':85}
# ]
dataframe=pd.Dataframe(data,['a','b','c','d'])
print(dataframe)
# 2.查看 Name 列数据
# print(dataframe.columns)
print(dataframe['Name'])
# d=dataframe.drop(labels=['Name'],axis=1)
# print(d)
# 3.查看 Leo 所在行的数据
# print(dataframe.iloc[1])
print(dataframe.loc['b'])
# 4.添加一列 Cscore ,其中数据为 95,86,91,88
p=dataframe['Cscore']=[95,86,91,88]
print(dataframe)
# 5.添加一列Sum ,其中数据等于Mscore这一列数据加上Cscore列数据
dataframe['Sum']=dataframe['MScore']+dataframe['Cscore']
print(dataframe)
# 6.对Sum这一列进行升序排序
print(dataframe.sort_values('Sum'))
# 7.统计Sum列的平均值并输出
print(dataframe['Sum'].mean())
# 8.统计Sum列的最大值并输出
print(dataframe['Sum'].max())
# 9.删除 Sex 列
del dataframe['Sex']
# dataframe.drop('Sex')
print(dataframe)
# 10.查看当前数据帧是否有缺失值
print(dataframe.isnull())



