python使用pandas将数据记录进表格

构造DataFrame

在pandas中,表格数据基本都是以DataFrame保存的,所以一般需要先将普通数据转换为DataFrame格式再进行操作,有5种常用方法。
引入库import pandas as pd,没有的需要下载:pip install pandas

1. 由Series数据转换

这种方式指定每一列为一个Series数据并给出列名,要求必须指定列名不然会报错,不要求每一个Series数据长度相同,默认以最长的为行高,空白部分自动补齐,行下标(index)如果不指定则会默认为[0,1,2…]。

d = {'one':pd.Series([1,2,3],index=['a','b','c']),
	'two':pd.Series([4,5,6,7],index=['b','c','f','g'])}
df = pd.DataFrame(d)

df为如下结果:
在这里插入图片描述

2. 由字典转换

这种方式将字典转换为DataFrame,每一个字典字段指定一列,要求每列长度必须相同且必须指定列名

h = {'一':[1,2,3,4],
	'二':[6,7,8,9]}
df = pd.DataFrame(h,index=['one','second','third','fourth'])

df为如下结果:
在这里插入图片描述

3. 由列表转换

从列表转化为DataFrame,列表每一个子元素为一行,默认列名为[0,1,2…],元素长度可以不同,默认填充至最长行。

data = []
data.append((7,3.14,'good'))
data.append((5,9.8,'wow','hello'))
data.append((8,4.667,'lalala'))
df = pd.DataFrame(data)

df为如下结果:
在这里插入图片描述

4. 由字典列表转换

从字典列表转换,与从列表转换类似,但通过字典指定列名,列表每一个子元素为一行,长度可以不同。

data = []
data.append({'a':24,'b':25,'str':'apple'})
data.append({'a':12,'b':13,'c':14})
df = pd.DataFrame(data)

df为如下结果:
在这里插入图片描述

5. 由元组字典转换

虽然不怎么常用,但是也给出方法,由于比较复杂所以讲解一下,这种方法相当于在表中建立子表,字典中每一个字段为一列,比如('A','b'):{('one','1'):1,('one','2'):2}定义了一列,行高为2,列索引为’A’的子下标’b’,行索引为’one’的子下标’1’与子下标’2’

data = {('A','b'):{('one','1'):1,('one','2'):2},
		('A','a'): {('one','2'):3,('one','1'):4},
		('A','c'): {('one','2'):5,('one','1'):6},
		('B','a'): {('one','3'):7,('one','2'):8},
		('B','b'): {('one','1'):9,('one','2'):10}
		}
df = pd.DataFrame(data)

df为如下结果,:
在这里插入图片描述

以DataFrame形式写入表格

df.to_excel('test.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值