使用python pandas库构造测试数据

  • 导入pandas库,构造多维数据,下面是读取excel数据处理的例子,日常总结经验

1、使用Pandas的read_excel()函数读取Excel文件并将数据用data接收

import pandas as pd
data = pd.read_excel('XXX数据.xlsx')

2、读取的excel数据data接收后,查看excel数据常用的几个函数
head():查看前几行数据,默认为前5行。
tail():查看后几行数据,默认为后5行。
shape:获取数据的维度,即行数和列数。
info():显示数据的基本信息,如列名、数据类型、非空值数量等。

举例函数应用:
import pandas as pd
data = pd.read_excel('XXX数据.xlsx')
#看前几行数据,默认为前5行。
print(data.head())
#查看后几行数据,默认为后5行。
print(data.tail()) 
#显示数据的基本信息,如列名、数据类型、非空值数量等。
print(data.info()) 

3、提取某一列的数据
data是一个DataFrame对象,我们希望选择其中几列作为变量x和y。通过使用[[‘column_name’]]语法,我们将列名放在两层方括号中,如[[‘长(cm)’, ‘宽(cm)’, ‘高cm)’, ‘颜色cm)’]]和[[‘类型_num’]]

import pandas as pd
data=pd.read_excel("鸢尾花训练数据.xlsx")
 
x = data[['萼片长(cm)', '萼片宽(cm)']]
y = data[['类型_num']]
print(x)
print(y)
  • Pandas对行/列求和
    1、pandas矩阵行:axis=1,列:axis=0;
    在这里插入图片描述

df.loc[‘合计’] = df.loc[:,[‘语文’,‘数学’,‘英语’]].apply(lambda x:x.sum())
2、所有列求和
在这里插入图片描述
df = df.set_index(‘姓名’)
df.loc[‘合计’] = df.apply(lambda x:x.sum(),axis=0)

  • DataFrame数据,新建一个列
    1、采用df[]方法
 import pandas as pd

df = pd.DataFrame(columns=['name', 'number'], data=[['cat', 3]])
 
# 添加一列,计算有多少条腿
df['leg'] = df['number'] * 4
# 添加一列,直接赋值有几个头
df['head'] = 1

在这里插入图片描述

2、采用df.insert()方法

# 使用方法是DataFrame.insert(loc,        column,   value, allow_duplicates=False) (添加列位置索引序号,添加列名, 数值,  是否允许列名重复)
	df.insert(1, 'tail', 1, allow_duplicates=False)

在这里插入图片描述
3、采用reindex()函数

#  reindex 函数,可以指定缺失值填充的值,
# 缺点是要把原有的列名和新列名都加上,如果列名过多比较麻烦,否则慧替换掉原有的数据
data = data.reindex(columns=['a', 'b', 'c', 'd'], fill_value=0)

下面例子可看出,把原来的数据替换掉了在这里插入图片描述

  • DataFrame数据,新增多个列名和行名
    1、采用concat()方法
    拼接数据,好处是可以同时新增多个列名和行名
# 如果是遍历添加多行,更高效的方法
pd.concat([pd.DataFrame([i], columns=['A']) for i in range(5)], ignore_index=True)
   A
0  0
1  1
2  2
3  3
4  4
 
data = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'])
data.insert(data.shape[1], 'd', 0)
data['e'] = 0
data = pd.concat([data, pd.DataFrame(columns=['d'])], sort=False)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值