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

来源:互联网 发布:网络传播理论 编辑:程序博客网 时间:2024/04/20 05:45

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."        breakdf = 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.
0 0
原创粉丝点击