[code language="python"]
import numpy as np
import pandas as pd
引入相应的模块
pd.set_option('display.float_format', lambda x: '%.5f' % x)
禁止使用科学记数法
df=pd.DataFrame(pd.read_csv('userpai.csv'))
读取csv
df1=pd.DataFrame(pd.read_csv('userpai0.csv',skiprows=1)
skiprows : list-like or integer, default None
需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)。
读取csv2
new = df.merge(df1, on='user_id', how='left')
'''
merge 通过键拼接列
how:指的是合并(连接)的方式有inner(内连接),left(左外连接),right(右外连接),outer(全外连接);默认为inner
on : 指的是用于连接的列索引名称。必须存在右右两个DataFrame对象中,如果没有指定且其他参数也未指定则以两个DataFrame的列名交集做为连接键
left_on:左则DataFrame中用作连接键的列名;这个参数中左右列名不相同,但代表的含义相同时非常有用。
right_on:右则DataFrame中用作 连接键的列名
left_index:使用左则DataFrame中的行索引做为连接键
right_index:使用右则DataFrame中的行索引做为连接键
sort:默认为True,将合并的数据进行排序。在大多数情况下设置为False可以提高性能
suffixes:字符串值组成的元组,用于指定当左右DataFrame存在相同列名时在列名后面附加的后缀名称,默认为('_x','_y')
copy:默认为True,总是将数据复制到数据结构中;大多数情况下设置为False可以提高性能
indicator:在 0.17.0中还增加了一个显示合并数据中来源情况;如只来自己于左边(left_only)、两者(both)
'''
new.to_csv('./out1.csv')
写入csv
new.sort_values('user_id')
根据 某一咧进行排序
new.sort_values('date',ascending=False).head(10)
#降序排列 显示 10行
new[new.user_id>2006]
#过滤 user_id 大于2006
new[new.date.str.startswith('2006')]
#字符串过滤