pandas應用——讀excel和DataFrame轉字典

1.讀excel表的方法:read_excel()

重要參數
sheetname:選擇要讀的sheet

index_col: 定義某一列爲索引,參數的值是列名。

例子:

import pandas as pd
df = pd.read_excel('excel_file.xlsx', sheetname='sheet1', index_col='col_1')

2.DataFrame轉dict類型

DataFrame對象的一個方法to_dict可以完成,以索引爲key,以列爲value。
如果有一個DataFrame對象df,df包含“col1”和“col2”兩列,那麼to_dict生成的一個兩層的dict,第一層是列名爲key,第二層以index列的值爲key,以列值爲value。
官網例子:

>>> df = pd.DataFrame(
        {'col1': [1, 2], 'col2': [0.5, 0.75]}, index=['a', 'b'])
>>> df
   col1  col2
a     1   0.1
b     2   0.2
>>> df.to_dict()
{'col1': {'a': 1, 'b': 2}, 'col2': {'a': 0.5, 'b': 0.75}}

to_dict轉成兩層的dict對象,可通過列名選擇其中索引和該列組成的dict,如

>>> df.to_dict()['col1']
{'a': 1, 'b': 2}

同時,內層的對象類型可選擇,選擇範圍:

orient : str {‘dict’, ‘list’, ‘series’, ‘split’, ‘records’, ‘index’}

官網例子:

>>> df.to_dict('series')
{'col1': a    1
b    2
Name: col1, dtype: int64, 'col2': a    0.50
b    0.75
Name: col2, dtype: float64}
>>> df.to_dict('split')
{'columns': ['col1', 'col2'],
'data': [[1.0, 0.5], [2.0, 0.75]],
'index': ['a', 'b']}
>>> df.to_dict('records')
[{'col1': 1.0, 'col2': 0.5}, {'col1': 2.0, 'col2': 0.75}]
>>> df.to_dict('index')
{'a': {'col1': 1.0, 'col2': 0.5}, 'b': {'col1': 2.0, 'col2': 0.75}}

3.Dataframe除了to_dict轉字典,還可轉很多別的類型

to_excel、to_csv、to_sql、to_pickle等,好多,用的時候在環境下建一個對象,從提示方法中即可找到。## 標題 ##

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章