如果条件为真,则新列是其他两列的最小值
new column which is min of two other columns if condition is True
如果df['freq']<10
我想将 "freq_new"
中的所有值转换为 df["freq_cell"]
和 10
之间的最小值
我试过了,没用
df.loc[df['freq']<10,['freq_new']]=min((df["freq_cell"]/10),10)
使用:
import numpy as np
df['freq_new'] = np.where(df['freq']<10, np.minimum((df["freq_cell"]/10),10), df['freq'])
给你
import pandas as pd
import numpy as np
`df.loc[df['freq']>10,'freq_new']=np.minimum((df['freq_cell'].min()/10,10)),df['freq'])`
您的代码语法不正确。 IIUC,您可以使用 loc
定位列 'freq' 小于 10 的位置,并创建一个名为 'freq_new' 的新列,它将是 'freq_cell' 和值 10 之间的最小值使用 clip
:
df.loc[df.freq < 10, 'frec_new'] = df['freq_cell'].clip(upper=10)
RHS 中的代码表示:
return 来自 freq_cell 的值,但如果它更大 ,则将其限制为 10。所以最大值为 10.
如果df['freq']<10
我想将 "freq_new"
中的所有值转换为 df["freq_cell"]
和 10
我试过了,没用
df.loc[df['freq']<10,['freq_new']]=min((df["freq_cell"]/10),10)
使用:
import numpy as np
df['freq_new'] = np.where(df['freq']<10, np.minimum((df["freq_cell"]/10),10), df['freq'])
给你
import pandas as pd
import numpy as np
`df.loc[df['freq']>10,'freq_new']=np.minimum((df['freq_cell'].min()/10,10)),df['freq'])`
您的代码语法不正确。 IIUC,您可以使用 loc
定位列 'freq' 小于 10 的位置,并创建一个名为 'freq_new' 的新列,它将是 'freq_cell' 和值 10 之间的最小值使用 clip
:
df.loc[df.freq < 10, 'frec_new'] = df['freq_cell'].clip(upper=10)
RHS 中的代码表示: return 来自 freq_cell 的值,但如果它更大 ,则将其限制为 10。所以最大值为 10.