pandas常用代码
pandas常用代码
1. 表格按照某相同列连接
import pandas as pd
# df1的"PFAF_ID"列和df2的"ID"列连接,以df1为准
df = pd.merge(df1,df2,left_on='PFAF_ID',right_on='ID',how = "left")
2. 修改列名
df = df.rename(columns={'WS':'WS1'}) # 'WS'改为'WS1'
3.逐行读出,并获取该行对应列的值
for index,row in df.iterrows():
row["列名"]
4.切片
df.loc[0:1,"列名"] # 该列的1到2行
df.iloc[0:3,4:6] # 1到4行和5到7列
df[df['编号'] == n]["y1"] # 选择编号为n所在行对应的y1列的数
5.新建一个表并逐行写入
result =pd.DataFrame(columns=['编号','y1','y2','y3'])
for n in names:
result = result.append(pd.DataFrame({'编号':[n],'y1':[y1],'y2':[y2],'y3':[y3]}),ignore_index=True)
result.to_excel("结果.xlsx",index=False)
或者快速写入方法
df =pd.DataFrame(columns=['ID','value'])
for n in range(0,len(uniques)):
df.loc[n] = [i,value]
6.归一化某列并连在原表后
def nordf(df,name): # df为表,name为需归一化的列名
z_scaler = lambda x : (x - np.min(x)) / (np.max(x) - np.min(x))
df1 = df[['{}'.format(name)]].apply(z_scaler)
df1 = df1.rename(columns={'{}'.format(name):'{}_nor'.format(name)})
df = pd.concat([df, df1], axis=1)
return df

浙公网安备 33010602011771号