Dataframe某一列去除重复项
df = df['name'].drop_duplicates()
创建一个空的Dateframe
df = pd.DataFrame(columns=[])
Dataframe根据列值选择特定行
new_df= df.loc[df['name']=='some_value']
Dateframe根据索引排序
df = df.sort_index()
Dataframe输出显示的行or列
pd.set_option('display.max_rows', 8/None)
pd.set_option('display.max_columns', 8/None)
判断Dataframe是否为空
if df is None:
取Dataframe某列和某几列
df = df['column_name']
df = df[['column_1','column_2']]
Dataframe添加某列向上/向下1移位列并插入第1列后
df.new_column = df.column.shift(-1/1)
df.insert(1,'new_column',df.new_column)
复制dataframe
new_df= df.copy()
dataframe相加
df = df_1.add(df_2, fill_value=0)
两个dataframe按索引外连接(索引不存在时使用缺失值)
new_df = df_1.join(df_2, how='outer')
dataframe计算每列向上累积值
df= df.cumsum()
matplotlib常规使用
fig = plt.gcf()
fig.set_size_inches(15,7)
plt.plot(date, m)
plt.title(date[0]+'~'+date[-1]+':t=' + str(t))
plt.xlabel('Date')
plt.ylabel('Return')
plt.show()
series转dataframe并指定列名
sr =df[‘name’]
df=sr.to_frame()
df.columns=[‘name’]
dataframe按照某列(date)外连接
new_df = pd.merge(df_1, df_2, on='date', how='outer')
计算某列最大值最小值
n_min=df['name'].min()
n_max=df['name'].max()
dataframe改变索引,以某列为索引
df =df.set_index('date')
数字保留小数点(两位)
round(number,2)
多个dataframe纵向拼接
bull = pd.concat([bull_1,bull_2,bull_3,bull_4])
改变dataframe列明
a.columns = ['a','b','c']
计算列和并添加到列尾
计算行和并添加到行尾
df['Col_sum'] = df.apply(lambda x: x.sum(), axis=1)
df.loc['Row_sum'] = df.apply(lambda x: x.sum())
dataframe 选取行/选取列
data['w'] #选择表格中的'w'列,使用类字典属性,返回的是Series类型
data.w #选择表格中的'w'列,使用点属性,返回的是Series类型
data[['w']] #选择表格中的'w'列,返回的是DataFrame属性
data[['w','z']] #选择表格中的'w'、'z'列
data[0:2] #返回第1行到第2行的所有行,前闭后开,包括前不包括后
data[1:2] #返回第2行,从0计,返回的是单行,通过有前后值的索引形式,
#如果采用data[1]则报错
data.ix[1:2] #返回第2行的第三种方法,返回的是DataFrame,跟data[1:2]同
data['a':'b'] #利用index值进行切片,返回的是**前闭后闭**的DataFrame,
#即末端是包含的
data.irow(0) #取data的第一行
data.icol(0) #取data的第一列
data.head() #返回data的前几行数据,默认为前五行,需要前十行则dta.head(10)
data.tail() #返回data的后几行数据,默认为后五行,需要后十行则data.tail(10)
ser.iget_value(0) #选取ser序列中的第一个
ser.iget_value(-1) #选取ser序列中的最后一个,这种轴索引包含索引器的series不能采用ser[-1]去获取最后一个,这回引起歧义。
data.iloc[-1] #选取DataFrame最后一行,返回的是Series
data.iloc[-1:] #选取DataFrame最后一行,返回的是DataFrame
data.loc['a',['w','x']] #返回‘a’行'w'、'x'列,这种用于选取行索引列索引已知
data.iat[1,1] #选取第二行第二列,用于已知行、列位置的选取。
字典转dataframe
df=pd.DataFrame(dict,index=[0])
字典按照value的值从大到小的顺序来排序
字典按键key从小到大排序
dict= sorted(dic.items(), key=lambda d:d[1], reverse = True)
dict= sorted(dic.items(), key=lambda d:d[0])
dataframe滑动窗口(以当前值向上计数)
某列每3个值的和
某列每5个值的均值
df.rolling(3).sum()
df.rolling(5).mean()
numpy载入txt
b=np.loadtxt('a.txt',dtype=np.float32)
numpy保存为txt
np.savetxt('a.txt',a,fmt='%0.8f')
#第一个参数是要保存的文件名
#第二参数是要保存的array
#第三个参数是保存的数据格式,详见文档
numpy排序
np.sort()