Pandas 基礎 (3) - 生成 Dataframe 的幾種方式

Rachel發表於2019-03-07

這一節想總結一下可以與 Dataframe 相互轉換的幾種檔案格式或資料型別:

  1. CSV
  2. Excel
  3. python dictionary
  4. List of tuples
  5. List of dictionary

下面分別一一介紹具體的實現方式:

  • 與 csv 檔案
    這裡補充一個知識點, 就是如果要讀取的檔案不在 jupyter 所在的資料夾, 則可以透過絕對路徑的方式引入.
df = pd.read_csv("/Users/rachel/Downloads/weather.csv")
  • 與 Excel 檔案
    這裡的第二個引數是必填項, 因為要指明具體讀取 excel 表中的哪個 sheet.
df = pd.read_excel("/Users/rachel/Downloads/weather.xlsx", "weather")

還有一個小坑, 就是在初次執行的時候有可能會提示錯誤, 根據錯誤提示, 大概可以瞭解到, 要讀取 excel 檔案, 還需要一個 xlrd 的包, 在終端執行下面命令就好了

pip3 install xlrd
  • 透過 python dictionary (為了方便大家日後可以更好地理解英文檔案, 這裡的一些專業名詞, 我就都不翻譯了)
weather_data = {
    'day': ['1/1/2017','1/2/2017','1/3/2017'],
    'temperature': [32,35,28],
    'windspeed': [6,7,2],
    'event': ['Rain', 'Sunny', 'Snow']
}
df = pd.DataFrame(weather_data)
  • 與 List of tuples
weather_data = [
    ('1/1/2017',32,6,'Rain'),
    ('1/2/2017',35,7,'Sunny'),
    ('1/3/2017',28,2,'Snow')
]
df = pd.DataFrame(data=weather_data, columns=['day','temperature','windspeed','event'])

上面例子中, weather_data 的資料結構是一個 list(特點是中括號), list 中的每一個元素就是一個 tuple, 由於原資料沒有指明列名, 所以在建立 dataframe 的時候, 需要指明列名.

  • 透過 List of dictionary, 從名字就可以讀出來下面的資料結構是一個 list, list 中的每個元素又是一個 dictionary.
weather_data = [
    {'day': '1/1/2017', 'temperature': 32, 'windspeed': 6, 'event': 'Rain'},
    {'day': '1/2/2017', 'temperature': 35, 'windspeed': 7, 'event': 'Sunny'},
    {'day': '1/3/2017', 'temperature': 28, 'windspeed': 2, 'event': 'Snow'},

]
df = pd.DataFrame(data=weather_data, columns=['day','temperature','windspeed','event'])

上面簡要介紹了 5 中生成 dataframe 的方式, 其實 Pandas 還支援很多種檔案格式的輸入輸出, 具體可以參考下官方檔案 https://pandas.pydata.org/pandas-docs/vers...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章