数据分析:Pandas

一.DataFrame的创建(二维数组,字典)
二.DataFrame的增删改查
	增:1.列增加的三种方式:
			(1)df['列名']=[10,20,30]
			(2)df.loc[:,'列名']=[10,20,30]
			(3)df.insert(插入的位置,'列名',[10,20,30])
		2.行增加的三种方式:
			(1)df.loc['行名']=[10,20,30]
			(2)new_df=pd.DataFrame({'语文':[10,20,30],'英语':[40,50,60]},index=['徐凯','李小龙'])
			   df.append(new_df)	
		注意点:列的增加插入的位置从0开始索引,行的增加append会创建一个新的对象	

创建DataFrame对象的两种方式

# 使用二维数组的方式创建DataFrame对象
import pandas as pd

pd.set_option('display.unicode.east_asian_width',True) # 解决数据输出行列不对齐
data=[[10,20,30],[40,50,60],[70,80,90]]  # 10,20,30在一行
index=['徐凯','周星驰','李小龙']
columns=['数学','语文','英语']
df=pd.DataFrame(data=data,index=index,columns=columns)
print(df)
# 使用字典的方式创建DataFrame对象
import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)
data={
    '语文':[10,20,30],  # 10,20,30在一列
    '数学':[40,50,60],
    '英语':[70,80,90]
}
index=['徐凯','周星驰','李小龙']
df=pd.DataFrame(data=data,index=index)
print(df)

DataFrame的增

# 增加一列物理成绩
df['物理'] = [11,22,33]
# 增加一列体育成绩
df.loc[:,'体育']=[44,55,66]
# 增加一列化学成绩
df.insert(5,'化学',[77,88,99])
# 增加一行‘钱多多’的各科成绩
df.loc['钱多多']=[11,12,13,14,15,16]
# 增加多行各科成绩
import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)
data={
    '语文':[10,20,30],
    '数学':[40,50,60],
    '英语':[70,80,90]
}
index=['徐凯','周星驰','李小龙']
df=pd.DataFrame(data=data,index=index)

# 方式一
data=[[10,20,30],[49,50,60]]
index=['甄子丹','成龙']
columns=['语文','数学','英语']
new_df=pd.DataFrame(data=data,index=index,columns=columns)
df.append(new_df)
# 方式二
new_df=pd.DataFrame({'语文':[40,50],'数学':[89,99],'英语':[11,22]},index=['甄子丹','成龙'])
df1 = df.append(new_df)
df1  # 会生成一个新的二维列表

DataFrame的删

# 删除列
# 方式一
# df.drop(['列名'],axis=1,inplace=True),axis=1是删除列
drop.drop(['语文'],axis=1, inplace=True)

# 方式二
# df.drop(columns='列名',inplace=True),inplace值为True,替换原数组
df.drop(columns='数学',inplace=True)

# 方式三
# df.drop(labels='列名',axis=1,inplace=True)
df.drop(labels='数学',axis=1,inplace=True)


# 删除行
# 方式一
# df.drop(['行索引'],axis=0, inplace=True)
df.drop(['甄子丹'],axis=0,inplace=True)

# 方式二
# df.drop(index='行索引',inplace=True)
df.drop(index='甄子丹',inplace=True)

# 方式三
# df.drop(labels='行索引',axis=0,inplace=True)
df.drop(labels='甄子丹',axis=0,inplace=True)

DataFrame的改

# 修改列标题(需要将所有列的新标题都写上)
# 方式一
df.columns=['Chinese','Math','English']

# 方式二
df.rename(columns={'Chinese':'语文','Math':'数学','English':'英语'})

# 修改行标题
# 方式一
df.index=list('1234')

# 方式二
df.rename(index={'甄子丹':0,'成龙':1},axis=0,inplace=True)

DataFrame的查

# 抽取一行
df.loc['甄子丹']

# 抽取多行(loc里面是行索引,iloc里面是数字)
df.loc[['甄子丹','成龙']]
df.iloc[[0,1]]

# 抽取指定的列
df['数学']

# 抽取多列
df[['数学','英语']] 

# 抽取语文分数大于105,数学分数大于88的同学
df.loc[(df['语文']>105)&(df['数学']>88)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值