1. 程式人生 > >【python資料處理】pandas基礎操作

【python資料處理】pandas基礎操作

基礎操作

  • 1.建立表

dataframe 類似於csv 與SQL表 

方法1

import codecademylib
import pandas as pd

df1 = pd.DataFrame({
  'Product ID': [1, 2, 3, 4],
  'Product Name': ['t-shirt', 't-shirt', 'skirt', 'skirt'],
  'Color': ['blue', 'green', 'red', 'black']
})

print(df1)

 方法2

import codecademylib
import pandas as pd

df2 = pd.DataFrame([
  [1, 'San Diego', 100],
  [2, 'Los Angeles', 120],
  # Fill in rows 3 and 4
  [3,'San Francisco'	,	90],
  [4	,'Sacramento',	115]
],
  columns=[
    'Store ID','Location','Number of Employees'
  ])

print(df2)
  • 2.匯入csv檔案

import pandas as pd

orders = pd.read_csv('orders.csv')

print(orders)
  • 3.檢視

 df.head(n)檢視前n個數據

df.info()檢視dataframe資料

import codecademylib
import pandas as pd

df = pd.read_csv('imdb.csv')
df.head(10)
print(df.info())
  •  4選擇

 1.選擇某一列的兩種方式

x=dataframe.column_name  返回某一列的資料 注意:列名中間有空格無法這麼選擇

x=dataframe['column_name']

clinic_north = df.clinic_north
clinic_north = df['clinic_north']

2.選擇多列

x=dataframe[['column_name1','column_name2']] 返回兩列資料

clinic_north_south = df[['clinic_north','clinic_south']]

3. 選擇行

x=dataframe.iloc[n] 返回第n行的資料

 

4.選擇多行

x=df.iloc[n:m]  返回第n至m-1行資料 從0開始算

x=df[n:m] 效果一樣

df2 = df.loc[[1, 3, 5]]

df3=df2.reset_index(inplace=True,drop=True)
print(df2)

這時候選出來的是帶index的

如果使用 .reset_index(drop,inplace)可以重置index 使用drop 消除 ,inplace 可以選擇是返回一個新dataframe還是在原dataframe上修改

5.選擇邏輯運算

x=df[df.column 運算子 條件]]

例子:

返回所有月份為1月的行
january = df[df.month == 'January']

返回3月和4月的行
march_april=df[(df.month=='March')|(df.month=='April')]

返回一二三月的行
january_february_march=df[df.month.isin([ 'January','February', 'March'])]
print(january_february_march)

 

  • 5.新增

 新增整列

1.df['column_name']=[x,x,x,x,x] 分別新增

2.df['column_name'] = x  整列都相同

3.df['column_name']=df['exist_column_name']操作

df['Sold in Bulk?']=['Yes','Yes','No','No']
df['In Stock?'] = True

df['Revenue'] = df.['Price'] - df['Cost to Manufacture']

 

 

  • 6.更改列名

有時候列名取得不好中間有空格無法使用df.column_name 只能使用df['column_name']

所以要更改列名

1.df.columns 方法  

df = pd.DataFrame({
    'First Name': ['John', 'Jane', 'Sue', 'Fred'],
    'Age': [23, 29, 21, 18]
})
df.columns = ['name', 'age']

2.df.rename 方法  rename中間轉換是:

df = pd.DataFrame({
    'First Name': ['John', 'Jane', 'Sue', 'Fred'],
    'Age': [23, 29, 21, 18]
})
df.rename(columns={
    'First Name':'name',
    'Age': 'age'},
    inplace=True)