2020-04-07
读取时抽取1%
import pandas as pd
import numpy as np
df = pd.read_csv("big_data.csv", # 使用skiprows参数
skiprows = lambda x:x>0 and # x>0保证首行选入
np.random.rand() > 0.01)
iloc/loc/ix区别
iloc:通过行/列号选取数据
# 取第一行
df.iloc[0]
# 选取多行数据
df.iloc[0:2]
# 选取第二列
df.iloc[:,[1]]
# 选取第0行第2列
df.iloc[0:1,[1]]
# 选取第0-2行第0-2列
df.iloc[0:2,[0,1]]
loc通过标签选取数据
# 按标签选取第b行
df1.loc['b']
# 按标签选取多行
df1.loc['b':]
# 按标签选取某列
df1.loc[:,['a']]
# 按标签选取多列
df1.loc[:,['a','b']]
# 按标签选取某行某列
df1.loc['a',['b','c']]
ix 简单粗暴 混合使用
# 通过行号选取
df.ix[1]
# 通过标签选取
df1.ix['a']
# 通过行号选取指定位置的数据
df1.ix[3,3]
# 通过标签选取指定位置的数据
df1.ix['a','a']
按照条件选取数据
# 通过单个条件选取数据
df1.loc[df1['a']==11]
# 通过多个条件选取数据
df1.loc[(df1['a']==11)&(df1['d']==1)]