pandas 將數據寫進表格


構造 DataFrame

在pandas中,表格數據基本都是以DataFrame保存的,所以一般需要先將普通數據轉換為DataFrame格式再進行操作,有5種常用方法

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)
# pd.DataFrame({'列名': pd.Series(['列表'])})

2、由字典轉換

這種方式將字典轉換為DataFrame,每一個字典字段指定一列,要求每列長度必須相同且必須指定列名

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

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)

4、由字典列表轉換

從字典列表轉換,與從列表轉換類似,但通過字典指定列名,列表每一個子元素為一行,長度可以不同

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

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)

以DataFrame形式寫入表格

df.to_excel('test.xlsx')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM