Pandas简单常用方法

Pandas简单常用方法

表格:

在这里插入图片描述

import numpy as np
import pandas as pd

### 读取excel的两种方法

# 方法1
df = pd.read_excel('demo.xlsx')
print(df.head(2)) # 读取前2条数据

# 方法2
df1 = pd.read_excel('企业信息模板表.xlsx', sheet_name='Sheet1')
print(df1.head())  # 默认读取前5条数据

# 方法3
df2 = pd.read_excel('demo.xlsx', sheet_name=0, header=0)
print(df2.head(5))

### pandas常用操作

# 查询列
print(df.columns[3])

# 查询行
print(df.index[2])

# 读取所有姓名
print(df['姓名'].values)

# 读取麻子的信息
print(df.iloc[3])

# 获取年龄大于22的姓名
print(df.loc[df['年龄'] >= 22])

# 获取麻子的联系电话

num = df[df['姓名'].isin(['麻子'])]  # 获取行号

mobile = df.iloc[[3],[4]].values
print(mobile[0][0])

# 获取索引当df['xxx']不好用时
#df = pd.read_excel(r'C:\Users\Administrator\Desktop\备份\202009工业产值小册子-D.xls', sheet_name='产值效益',dtype='object')
# 获取索引
num = df[df.iloc[:,0].isin(['出口交货值'])].index.tolist()[0]
# 取值
data = df.iloc[[num],[3]].values
Log.Info(self,data)

# 获取某一列数据 2
print(df['姓名'])  # 添加 .values 会将其转为列表

# 获取姓名,年龄 列所有数据
print(df[['姓名', '年龄']])

# 获取姓名到手机之间的行所有数据
print(df[1:3])

#### 获取某一行或多行

# 获取第二行的数据
print(df.loc[1].values) # 添加.values 会将其转为列表 

# 获取多行的数据
print(df.loc[1:5])

# 获取指定行的数据
print(df.iloc[1].values)   # 效果同xx.loc[1].values

# 根据行标签,筛选行和列 
# 获取年龄到练习电话的所有数据  
# 使用格式 : df.[列索引起始:列所有结束 ,行索引起始:行索引结束]
print(df.loc[:,'姓名':'练习电话'])# 添加.values 会将其转为列表

# 筛选行
# 获取1到5行的所有数据
print(df.loc[1:5,:])

# 获取2到3行的姓名~练习电话
print(df.loc[1:3,'姓名':'练习电话'])

###  筛选数据 条件筛选

# 年龄大于等于 22 的所有信息
print(df[df["年龄"] >= 22])

# 年龄大于20 小与24 的信息   '&' 同时满足成立
print(df[(df['年龄']>= 20) & (df['年龄']<=22)])

# 年龄大于23 或者 职位 是测试的  '\' 满足任意条件即成立
print(df[(df['年龄'] >23) | (df['职位'] == '测试')])

# 将每行的年龄与练习电话相加
# 取出单行的姓名
datas = df.loc[:,['年龄','练习电话']].values
print(datas)
for i in datas:
    print('合:{}'.format(i[0] + i[1]))

#  修改麻子为小芳,并另存为ceshi.xlsx
df.iloc[[3], [1]] = '小强'
df.to_excel('ceshi.xlsx', index=None)





`

猜你喜欢

转载自blog.csdn.net/weixin_45550881/article/details/110590420