pandas基础应用

 1.1系列 Series

import numpy as np
import pandas as pd
#pandas三种数据类型:
#一维:系列 Series   二维:数据帧 DataFrame   三维:面板 Panel
#系统默认下标:0,1,2,......
#1.用list(列表)创建系列
s1 = pd.Series([1,3,5,7])
print(s1)

#2.用数组创建系列
data = np.array([1,3,5,7])
#自定义下标index=[],必须是list形式,可以是数字,也可以是字符串
index=['a','b','c','d']
s2 = pd.Series(data,index)
print(s2)

#3.用字典dict创建系列
#key(键):下标    value(值):对应的数据
data3={'a':1,'b':3,'c':5}
s3 = pd.Series(data3)
print(s3)

#4.创建数据全是18的系列
s4 = pd.Series(18,index)
print(s4)

#5.索引
#一维数据:array/arange
#用arange创建数据为1,3,5,7的系列
s5 = pd.Series(np.arange(1,9,2),index)
print(s5)
print('获取数据3:',s5['b']) #通过自定义下标获取数据(显示下标)
print('获取数据3:',s5[1]) #通过系统默认方式获取数据(隐示下标)

#6.切片
print('获取前三个数据:\n',s5[:'c'])   #通过自定义下标的方式
print('获取前三个数据:\n',s5[:3])   #通过系统默认的方式(隐式下标),从零开始,前包后不包

#7.获取多条数据,传入一个下标list
print('同时获取数据1,7:\n',s5[['a','d']])

#8.使用列表生成式,传入自定义下标
index1=[x for x in s5.index if x!='c']
print('获取除5之外的数据:\n',s5[index1])

1.2数据帧 DataFrame

import numpy as np
import pandas as pd
#1.创建数据帧
#(1)用list创建  按照行来
data = [['Sam',18,'Male'],['Amy',20,'Female'],['Tom',16,'Male']]
index=['a','b','c'] #添加样本标签(横轴标签)
columns=['name','age','sex'] #添加特征标签(纵轴标签)
df1 = pd.DataFrame(data,index,columns)
print(df1)

#(2)用系列创建   (不常用,麻烦)
s1 = pd.Series(['Sam',18,'M'],index=['name','age','sex'])
s2 = pd.Series(['Amy',20,'F'],index=['name','age','sex'])
s3 = pd.Series(['Tom',16,'M'],index=['name','age','sex'])
df2 = pd.DataFrame([s1,s2,s3],index)
print(df2)

#(3)用字典dict创建
#key(键):特征名   values(值):一列数据
data = {'name':['Sam','Amy','Tom'],'age':[18,20,16],'sex':['M','F','M']}
df3 = pd.DataFrame(data,index)
print(df3)

#2.缺失值  NaN:not a number   当前数据是空值,不是0
data = [['Sam',18,'Male'],['Amy',np.NAN,'Female'],['Tom',16,'Male']]
index=['a','b','c'] #添加样本标签(横轴标签)
columns=['name','age','sex'] #添加特征标签(纵轴标签)
df1 = pd.DataFrame(data,index,columns)
print(df1)

#3.有关列的处理
data = [['Sam',18,'Male'],['Amy',20,'Female'],['Tom',16,'Male']]
index=['a','b','c'] #添加样本标签(横轴标签)
columns=['name','age','sex'] #添加特征标签(纵轴标签)
df = pd.DataFrame(data,index,columns)
print(df)
#(1)查看某列
print('查看name列\n',df['name'])
print('同时查看name.sex俩列\n',df[['name','sex']])

#(2)添加一列 MScore:数据为90,100,80
df['MScore']=[90,100,80]
# print(df)
df['CScore']=[83,92,77]
print(df)

#(3)添加一列 Sum:数据为 MScore列 + CScore列
df['Sum']=df['MScore']+df['CScore']
print(df)

#(4)删除某列
#方法一:
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=True 在原来的数据帧上直接删除,改变了原来的数据帧  ==del
#if inplace=False 则不是在原来的数据帧上删除,而是返回一个删除后的副本,不改变原来的数据帧

#4.有关行的处理
#(1)查看某行
print('查看Amy所在行',df.loc['b'])  #通过自定义下标
print('查看Amy所在行',df.iloc[1])  #通过系统默认下标

data = [['Sam',18,'Male'],['Amy',20,'Female'],['Tom',16,'Male']]
index=['a','b','c'] #添加样本标签(横轴标签)
columns=['name','age','sex'] #添加特征标签(纵轴标签)
df = pd.DataFrame(data,index,columns)
print(df)
#(2)添加一行  添加一行数据:小姐姐  25  F
df_N = pd.DataFrame({'name':['小姐姐'],'age':[25],'sex':['Female']},index=['d'])
df = df.append(df_N)
print(df)

#(3)删除某行
#删除Tom所在的行
df_2=df.drop(labels=['c'],axis=0,inplace=False)
print('======df======\n',df)
print('======df_2======\n',df_2)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值