5 Dataframe的函数应用

def adder(ele1,ele2):
    return ele1+ele2

5.1 df 每个元素均变换

df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])
df.pipe(adder,2)#对df中的每一个元素依次和2传入函数adder,返回新数据框,但原df不变

5.2 对所有行(列)进行变换

### 行变换或列变换
df.apply(np.mean)#将df的每一列进行mean,对列操作为默认项
df.apply(np.mean,axis=1)#axis=1 表示对行操作
df.apply(lambda x:x.max()-x.min())
df.apply(lambda x:sum(x)) #lambda表示用户自定义函数

5.3 对单个行(列)进行变换

### 单个列的变换
df['col1'].map(lambda x:x*100)
df['col1'].apply(lambda x:x*100)#apply和map可以通用

df.applymap(lambda x:x*100)
df.pipe(lambda x:x*100)
df.apply(lambda x:x*100)#三种方式等价

5.4 对单个元素进行变换

### 单个元素的变换
df.iloc[1,1]=df.iloc[1,1]*100 

猜你喜欢

转载自www.cnblogs.com/lhjc/p/12807455.html