pandas清洗數據實用代碼

github博客傳送門
csdn博客傳送門python

先建立一個可操做的DataFrame -> pandas的一種數據結構

dic = {'name': {'a': "abc", 'b': "boc", 'c': "ccb", 'd': "icbc", 'e': "boc"},
        'data': {'a': "農業銀行", 'b': "中國銀行", 'c': "建設銀行", 'd': "工商銀行", 'e': "中國銀行"},
        'one': {'a': 1, 'b': 0, 'c': 0, 'd': 0, 'e': 0},
        'two': {'a': 0, 'b': 1, 'c': 0, 'd': 0, 'e': 1},
        'three': {'a': 0, 'b': 0, 'c': 1, 'd': 0, 'e': 0},
        'four': {'a': 0, 'b': 0, 'c': 0, 'd': 1, 'e': 0}}  # 建立了一個嵌套的字典

df = pd.DataFrame(dic)  # 將這個嵌套字典轉換爲DataFrame
print(df)                # 打印出轉換後的DataFrame

輸出是這樣的:

name data one two three four
a abc 農業銀行 1 0 0 0
b boc 中國銀行 0 1 0 0
c ccb 建設銀行 0 0 1 0
d icbc 工商銀行 0 0 0 1
e boc 中國銀行 0 1 0 0

一. 刪除指定列

def drop_multiple_col(col_names_list, df):
    df.drop(col_names_list, axis=1, inplace=True)
    return df

print(drop_multiple_col('one', df))

刪除指定列 'one'後輸出:

name data two three four
a abc 農業銀行 0 0 0
b boc 中國銀行 1 0 0
c ccb 建設銀行 0 1 0
d icbc 工商銀行 0 0 1
e boc 中國銀行 1 0 0

二. 檢查每列缺失數據的數量

def check_missing_data(df):
    return df.isnull().sum().sort_values(ascending=False)
print(check_missing_data(df))

檢查結果以下

name 0
data 0
one 0
two 0
three 0
four 0

三. 增長一列label

def create_label(class_dict, df):
    df['label'] = temp['name'].apply(lambda x: class_dict[x])  # 增長一列label並填加值爲 字典對應的值
    return df
class_dict = {'abc': 0, 'boc': 1, 'ccb': 2, 'icbc': 3}  # 轉label字典
print(create_label(class_dict, df))

增長label後的輸出:

而後再刪除不須要的列,就只剩下數據和標籤了

name data one two three four label
a abc 農業銀行 1 0 0 0 0
b boc 中國銀行 0 1 0 0 1
c ccb 建設銀行 0 0 1 0 2
d icbc 工商銀行 0 0 0 1 3
e boc 中國銀行 0 1 0 0 1

四. 替換或刪除列中字符串

替換 data 列中的 '銀行' 字符串爲 空

def remove_col_str(df):
    df['data'].replace('銀行', '', regex=True, inplace=True)
remove_col_str(df)
print(df)

替換後的輸出爲:

name data one two three four
a abc 農業 1 0 0 0
b boc 中國 0 1 0 0
c ccb 建設 0 0 1 0
d icbc 工商 0 0 0 1
e boc 中國 0 1 0 0
print_r('點個贊吧');
var_dump('點個贊吧');
NSLog(@"點個贊吧!")
System.out.println("點個贊吧!");
console.log("點個贊吧!");
print("點個贊吧!");
printf("點個贊吧!\n");
cout << "點個贊吧!" << endl;
Console.WriteLine("點個贊吧!");
fmt.Println("點個贊吧!")
Response.Write("點個贊吧");
alert(’點個贊吧’)
相關文章
相關標籤/搜索