首页 > 解决方案 > 如何使用excel之类的功能修改数据框中的列?

问题描述

我想使用以下条件更改数据框的“c”列。条件:当'c'的组件除以8时,如果余数大于4,则更改'组件+1',否则更改'组件+5'

import pandas as pd
import numpy as np
A = {'a':[1,2,3,4], 'b':[4,5,6,7],'c':['1','2','3','6']} 
df = pd.DataFrame(A) 

我想获得的结果是这样的..

A = {'a':[1,2,3,4], 'b':[4,5,6,7],'c':['6','7','8','7']} 

标签: python-3.xexcelpandas

解决方案


先用转成整数series.astype,再用series.mod和用series.gt比较大于4,最后用np.where

df['c'] = df['c'].astype(int)
c = df['c'].mod(8).gt(4)
df['c'] = np.where(c,df['c']+1,df['c']+5)

print(df)

   a  b  c
0  1  4  6
1  2  5  7
2  3  6  8
3  4  7  7

推荐阅读