1. 程式人生 > >pandas基本用法(一)

pandas基本用法(一)

  • 讀取csv檔案
import pandas
food_info = pandas.read_csv(file_name)# 返回一個DataFrame物件
n_rows = food_info.head(n) #獲取前n行資料,返回的依舊是個DataFrame
column_names = food_info.columns   #獲取所有的列名
dimensions = food_info.shape #獲取資料的shape
  • Index

預設情況下,使用pandas.read_csv()讀取csv檔案的時候,會預設將資料的第一行當做列標籤,還會為每一行新增一個行標籤。我們可以使用這些標籤來訪問DataFrame中的資料。
這裡寫圖片描述


DataFrame
  • Series物件

pandas的核心元件,構成DataFrame的基本單元。
這裡寫圖片描述

Series
  • 如何選擇一行資料
data = food_info.loc[0] #使用loc[n]獲取第n行資料,如果只是獲取一行資料的話,返回Series
#如何選擇多行呢,和numpy的語法是一樣的
datas = food_info.loc[1:2] #返回DataFrame,返回行標籤為1,2的,這個和numpy不一樣,而且loc[]也不支援-n

data = food_info.loc[i][j] # i-th row, j-th column 
  1. 使用DataFrame.dtypes
    獲取每列的資料型別
  2. 使用DataFrame[indices]獲取列資料。注意,要是獲取多個列的話selenium_thiamin = food_info[["Selenium_(mcg)",'Thiamin_(mg)']],不要少了箇中括號。

關於len()

len(data_frame) # 是data_frame的行數
len(data_frame.loc[0]) #是data_frame的列數

關於set()

set(data_frame) # 返回column name
set(data_frame["column1"]) # 返回第一列中不重複的值
set(data_frame.loc[0
]) #返回第一行中不重複的值

如何遍歷 DataFrame 中的資料

# 使用 for 是不可行的!!!!!!!!!!!!!!!!!!!!!
for data in data_frame:
    pass

# 使用 len 和 loc
for i in range(len(data_frame)):
    cur_data = data_frame.loc[i]

# 使用 .iteriterms()
for i, series in df.iteritems():
    print(i, ":", type(series))

如何儲存成 CSV 檔案

使用 data_frame.to_csv() 。為了使用這個方法,首先要建立一個 DataFrame 例項。

import pandas as pd
# from_dict, 使用 dict 把每列的資料準備好
predictions = {}
predictions["id"] = ["001", "002"]
predictions["value"] = ["hello boy", "hello world"]

dataFrame = pd.DataFrame.from_dict(predictions)
print(dataFrame)

# from_record, 準備好每一行的資料
predictions2 = []
predictions2.append(["001", 0, 0])
predictions2.append(["002", 0, 0])
dataFrame2 = pd.DataFrame.from_records(predictions2, columns=["id", "is_man", "is_good"])
print(dataFrame2)

判斷獲取的值是否為 nan

res = series['val']
pd.isna(res) # nan 返回 True 否則返回 False

參考資料