1# -*- coding: UTF-8 -*-
2
3import pandas as pd
4
5data_dict = {'first_col': [1, 2, 3, 4], 'second_col': [5, 6, 7, 8]}
6
7df = pd.DataFrame(data_dict)
1# iloc()函數(shù),切片與索引操作(只能按索引為進(jìn)行數(shù)據(jù)切片提取,不能按字符串提取)
2
3# 返回第一行的所有列
4
5print(df.iloc[1,:])
6
7# 所有行的第0列和第1列
8
9print(df.iloc[:,[0,1]])
10
11# 組合使用,某一列的前兩行數(shù)據(jù),可任意組合使用
12
13print(df['first_col'].iloc[:2])
1# loc()函數(shù)切片與索引(可以按字符串進(jìn)行切片提取)
2
3# 提取某幾個(gè)列的哪幾行
4
5print(df.loc[0:1, ['first_col', 'second_col']])
6
7# 提取從某一列到另一列的哪幾行數(shù)據(jù)(這種方式可以選擇一個(gè)數(shù)據(jù)域)
8
9print(df.loc[0:1, 'first_col': 'second_col']) # 表示選取第一行和第二行,從first_col列到second_col列的數(shù)據(jù)域
1# 篩選出某個(gè)列包含哪幾個(gè)值的數(shù)據(jù)行,如下篩選出first_col列包含1和2的值
2
3print(df[df['first_col'].isin([1,2])])
4
5# first_col second_col
6# 0 1 5
7# 1 2 6
8
9# 篩選出某個(gè)列不包含哪幾個(gè)值的數(shù)據(jù)行,如下篩選出first_col列不包含1和2的值(反選)
10
11print(df[~df['first_col'].isin([1,2])])
12
13# first_col second_col
14# 2 3 7
15# 3 4 8
1# 缺失值處理,fillna()函數(shù)指定填充缺失值
2
3# 使用均值填充缺失值
4
5print(df.fillna(df.mean()))
6
7# 使用0填充缺失值
8
9print(df.fillna(0))
10
11# 指定某幾個(gè)列刪除缺失值
12
13print(df.dropna(subset=['first_col','second_col']))
1# 去重處理,drop_duplicates()函數(shù)
2
3# 刪除first_col列出現(xiàn)重復(fù)的行,并保留第一次出現(xiàn)的行
4
5df=df.drop_duplicates(subset='first_col',keep='first')
6
7print(df)
8
9# 刪除first_col列出現(xiàn)重復(fù)的行,并保留最后一次出現(xiàn)的行
10
11df=df.drop_duplicates(subset='first_col',keep='last')
12
13print(df)
14
15# 刪除first_col列出現(xiàn)重復(fù)的行,不保留全部刪除
16
17df=df.drop_duplicates(subset='first_col',keep=False)
18
19print(df)
1# 去除有Nan值的行
2
3df = df.dropna(axis=0)
4
5# 去除有Nan值的列
6
7df = df.dropna(axis=1)
8
9# 去除某一列
10
11df = df.drop(['first_col'], axis=1)
12
13# 獲取first_col列值==2的索引
14
15row_list = df[df.second_col == 2].index.tolist()
16
17# 根據(jù)索引刪除行
18
19df = df.drop(row_list)
聯(lián)系客服