3-pandas基本使用

目录

前言

一、series的创建

1.创建series对象

2.series对象取值

 3.series属性

二 、DataFrame

1.DataFrame创建

2. DataFrame()对象常用属性

 3.DataFrame取值

三、常见操作

1.查、改

2.删

3.新增 salary 列

四.排序

1.series排名(了解)

2. DataFrame排序

1)按索引排序  sort_index()

2)按值排序 sort_values()

总结


前言

安装

pip install pandas

使用
import pandas as pd
DataFrame:一种二维表状数据结构,用于存储和操作数据。
Series:一维标记数组,类似于电子表格中的列。


一、series的创建

Series是一维标签化数组,Series适用于进行简单的统计分析,如计算均值、中位数、最大值、最小值等。Series还可以作为DataFrame中单个列的数据结构。

1.创建series对象

import pandas as pd

s = pd.Series(np.random.rand(5))
print(s)
print(type(s))

2.series对象取值

s2 = pd.Series(data=[1,2,3,4],index=['a','b','c','d'])
print(s2)
# 取2
print(s2['b'])
print(s2[1])
# 同时取2和3
print(s2[1:3])
print(s2['b':'c'])
print(s2['b':'d'])

s3 = pd.Series(np.random.rand(3)*100)
print(s3[s3>60])

 3.series属性

s4 = pd.Series(np.random.rand(3), index = ['a','b','c'])
print(s4)

print(s4.values) # 获取值

print(s4.index) # 获取索引
print(s4.index.tolist())  # 把获取的索引转成列表

print(s4.dtype) # 获取数据的元素类型
print(s4.size)  # 元素的个数

print(s4.shape)  # 几行几列
print(s4.ndim)   # 维度数

二 、DataFrame

DataFrame是二维标签化数据结构,可以看作是由多个Series组成的。DataFrame适用于进行复杂的数据分析和处理,包括数据清洗、转换、聚合等。DataFrame提供了丰富的功能,如透视表 数据分组、合并、重塑等,非常适合处理具有不同数据类型的多维数据集。

1.DataFrame创建

#1.使用二维数组创建
df1=pd.DataFrame(data = np.random.randint(0,20,(4,5)),index=['A','B','C','D'],columns=['a','b','c','d','e'])
print(df1)




# 2.使用字典创建 (行索引由index决定,列索引由字典的键决定)
data1={ 'a':[1,2,3],
       'b':[3,4,5],
       'c':[5,6,7]  
      }
df2 = pd.DataFrame(data1)




#3.由字典组成的列表创建
data4 =[{'one':1,'two':2},{'one':3,'two':4,'three':5}]
df4 = pd.DataFrame(data4)


#4.由字典组成的字典创建
data5 = {'Jack':{'math':90,'english':89,'art':78},
         'Marry':{'math':82,'english':95,'art':92},
         'Tom':{'math':78,'english':67}}
df5 = pd.DataFrame(data5)

2. DataFrame()对象常用属性

data = {'name':['Jack','Tom','Mary'],
        'age':[18,19,20],
        'gender':['F','M','W']}
df6 = pd.DataFrame(data,index=['a','b','c'])
print(df6)
print('*'*20)
print(df6.shape)  # 几行几列
# 行索引
print(df6.index.tolist()) 
# 列名
print(df6.columns.tolist())
# 前2行
print(df6.head(2))
# 取age
print(df6['age']) 

 3.DataFrame取值

方法一不常用

# 取age name
print(df6[['age','name']])  # 如果取多列的话,要加一层中括号
# 取第一行
print(df6[0:1])

 方法二:

通用方法,使用loc 或iloc

df.loc 通过标签索引取值 df.iloc 通过位置索引取值

data = {'name':['Jack','Tom','Mary'],
        'age':[18,19,20],
        'gender':['F','M','W']}
df6 = pd.DataFrame(data,index=['a','b','c'])
# 取18
print(df6.iloc[0,1]) # 逗号前是行,逗号后是列
print(df6.loc['a','age'])
print(df6.loc['a':'c'])
print('*'*20)
print(df6.iloc[0,[0,2]])

三、常见操作

1.查、改

代码如下(示例):

s = pd.Series(np.random.rand(100))
# 查看前10个
print(s.head(10))

print(s.head()) # 默认取5个

# 查看最后5个
print(s.tail())

s[3] = 888   # 把下标为3对应的值修改为888
print(s)

2.删

代码如下(示例):

data = {  
    '员工ID': [1, 2, 3, 4, 5],  
    '姓名': ['张三', '李四', '王五', '赵六', '孙七'],  
    '部门': ['HR', 'IT', 'IT', '财务', 'HR'],  
    '职位': ['经理', '工程师', '分析师', '会计', '助理'],  
    '薪资': [50000, 60000, 55000, 65000, 45000]  
}  
df = pd.DataFrame(data)




df2 = df.drop(columns='薪资')

df.drop(columns='薪资',inplace=True) # 直接在原表上删除薪资列

3.新增 salary 列

df6['salary'] = [1000,2000,3000]

四.排序

1.series排名(了解)

df7 = pd.Series([7, -5, 7, 4, 2, 0, 4])


df7.rank(method='first')

2. DataFrame排序

1)按索引排序  sort_index()

2)按值排序 sort_values()

data = {'name':['Jack','Tom','Mary'],
        'age':[18,19,20],
        'gender':['F','M','W']}
df6 = pd.DataFrame(data,index=['a','b','c'])


# 1)按索引排序  sort_index()
df7 = df6.sort_index(ascending=False)  # 默认是升序排序; 直接在原数据上修改 inplace=True




# 2)按值排序 sort_values()
df6.sort_values(by='age',ascending=False)  # ascending默认升序排序 by='age'依据age列进行排序





总结

Pandas是一个强大的库,简化了Python中的数据操作和分析过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

william_liu1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值