我希望编写一些代码来检查列值的变化何时超过特定数量,例如超过20%例如:
# | A | --+------+ 1 | 20 | 2 | 21 | 3 | 20 | 4 | 22 | 5 | 35 | 6 | 25 |
它将标记行5
7cwmlq891#
您可以使用如下代码:
df=pd.DataFrame(data={'id':[1,2,3,4,5,6],'A':[20,21,20,22,35,25]}) ''' id A 0 1 20 1 2 21 2 3 20 3 4 22 4 5 35 5 6 25 ''' df['percent'] = (df['A'] / df['A'].shift(1) - 1).fillna(0) * 100 #calculate percentage print(df) ''' id A percent 0 1 20 0.000000 1 2 21 5.000000 2 3 20 -4.761905 3 4 22 10.000000 4 5 35 59.090909 5 6 25 -28.571429 ''' df.loc[df['percent']>= 20,"flag"]="Y" #create a new column #for negative values #df.loc[df['percent'].abs() >= 20,"flag"]="Y"
1条答案
按热度按时间7cwmlq891#
您可以使用如下代码: