import numpy as np
import pandas as pd
# 1.创建数据帧
# (1):用list创建(列表)
date=[['sam',18,'M'],['Amy',20,'F'],['Tom',16,'M']]
index=['a','b','c']#添加样本标签# 横轴标签
columns=['name','age','sex']#添加特征标签
df1=pd.DataFrame(date,index,columns)
print(df1)
# # 用系列创建
# s1=pd.Series(['sam',18,'M'])
# s2=pd.Series(['Amy',20,'F'])
# s3=pd.Series(['Tom',16,'M'])
# # 可以正常加inde,不能加columns,加的话就是空值
# df2=pd.DataFrame([s1,s2,s3])
# print(df2)
# 用字典创建 按照列来的
#key(键):特征名 volue(值):一列数据
data={'name':['sam','Amy','Tom'],'age':[18,20,16]}
df3=pd.DataFrame(data,index)
print(df3)
# 缺失值 nan: not a number 当前数据是空吗,不是0,
date=[['sam',18,'M'],['Amy',np.nan,'F'],['Tom',16,'M']]
index=['a','b','c']#添加样本标签# 横轴标签
columns=['name','age','sex']#添加特征标签
df1=pd.DataFrame(date,index,columns)
print(df1)
# 有关列的处理
date=[['sam',18,'M'],['Amy',20,'F'],['Tom',16,'M']]
index=['a','b','c']#添加样本标签# 横轴标签
columns=['name','age','sex']#添加特征标签
df=pd.DataFrame(date,index,columns)
print(df)
# 查看某列
print('查看name列:',df['name'])
print('同时查看name,sex两列\n',df[['name','sex']])
# 添加一列 Mscore:数据为90,100,80
df['Mscore']=[90,100,80]
print(df)
df['Cscore']=[83,92,77]
print(df)
# 添加一列sum 数据为Mscore+Cscore
df['sum']=df['Mscore']+df['Cscore']
print(df)
# 删除某列
del df['age'] #在原来数据帧上直接删除,改变了原来的数据帧
print(df)
# 方法二
df_1=df.drop(labels=['sex'],axis=1,inplace=False)
print('=====df=====\n',df)
print('=====df_1=====\n',df_1)
# if inplace=False 则不是原来的数据帧上删除,返回一个删除后的副本,不改变原来的数据帧
# 4:有关行处理
# 查看某行
print('查看Amy所在的行',df.loc['b']) #通过自定义下标
print('查看Amy所在行',df.iloc[1]) #通过系统默认的下标
# 添加一行
date=[['sam',18,'M'],['Amy',20,'F'],['Tom',16,'M']]
index=['a','b','c']#添加样本标签# 横轴标签
columns=['name','age','sex']#添加特征标签
df=pd.DataFrame(date,index,columns)
print(df)
df_n=pd.DataFrame({'name':['小姐姐'],'age':[15],'sex':'F'},index=['d'])
df=df.append(df_n)
print(df)
# 删除某行
# 删除tom所在的行
df_2=df.drop(labels=['c'],axis=0,inplace=False)
print(df_2)
|