Pandas学习笔记(不定期更新)

1.如何使用Pandas处理大数据文件

reader=pd.read_csv('xxx.csv', iterator=True) #分块读取
chunkSize = 10000000 #一次读取一千万条记录
chunks = []
while True:
    try:
        chunk = reader.get_chunk(chunkSize) #一次获得1kw的数据量
        chunks.append(chunk)
    except StopIteration:
        print "Iteration is stopped."
        break
df = pd.concat(chunks, ignore_index=True) 
#读取完数据后再利用pandas的concate连接DataFrame

2.处理时间序列索引的小tips

df['time'] = pd.to_datetime(df['time']) #要将时间转为DateTime格式,才方便后面操作(否则无法对时间序列进小操作)
df.set_index('time', inplace=True)

一个小提醒,如果要使用时间索引,先要将相关时间转换为DataTime格式。否则之后针对时间索引的切片选取就会出毛病。

#加入我需要选取7天前到现在的数据
date1 = today - relativedelta(days=7) #在DataTime中使用relativedelta()函数来选取相应的时间
df_date = df_table[str(date1):str(today)] # 使用str可以使切片选取变成模糊选取。如果使用DataTime格式。当表中没有date这个时间点,程序就会报错。

3.修改DataFrame中的单个值

# 获取单个值.df是DataFrame相关数据
df.get_value('行名', '列名') #第一种方法 采用行名和列名
df.get_value(行索引, 列索引, takeable = True) #第二种方法 采用行索引和列索引(只能int型)
# 修改单个值
df.set_value('行名','列名', 修改的值) #第一种方法 采用行名和列名
df.set_value(行索引, 列索引, 修改的值, takeable = True) #第二种方法 采用行索引和列索引(只能int型)
    4.

你可能感兴趣的:(Python,数据挖掘)