1. 程式人生 > >Pandas中常用的函式使用

Pandas中常用的函式使用

1、離散值的onehot編碼

   pd.get_dummies()
import pandas as pd
#對於離散值不能進行編碼的利用onehot編碼
df = pd.DataFrame([
    ['green', 'M', 10.1, 'class1'],
    ['red', 'L', 13.5, 'class2'],
    ['blue', 'XL', 15.3, 'class1']])

df.columns = ['color', 'size', 'prize', 'class label']

size_mapping = {
    'XL': 3,
    
'L': 2, 'M': 1} df['size'] = df['size'].map(size_mapping) class_mapping = {label: idx for idx, label in enumerate(set(df['class label']))} df['class label'] = df['class label'].map(class_mapping) print('----------------------------------------------------------------') print(df) print('----------------------------------------------------------------
') df = pd.get_dummies(df) print(df) print('----------------------------------------------------------------')

 


2、DROP——刪除pandas DataFrame的某一/幾列

1. DF= DF.drop('column_name', 1);

 

2. DF.drop('column_name',axis=1, inplace=True)

 

3. DF.drop([DF.columns[[0,1, 3]]], axis=1,inplace=True)   # Note: zero indexed

凡是會對原陣列作出修改並返回一個新陣列的,往往都有一個 inplace可選引數。如果手動設定為True(預設為False),那麼原陣列直接就被替換。也就是說,採用inplace=True之後,原陣列名(如2和3情況所示)對應的記憶體值直接改變;而採用inplace=False之後,原陣列名對應的記憶體值並不改變,需要將新的結果賦給一個新的陣列或者覆蓋原陣列的記憶體位置。