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
posted @ 2021-09-01 14:41  skypanxh  阅读(194)  评论(0)    收藏  举报