【发布时间】:2016-02-03 17:36:12
【问题描述】:
从一个简单的数据框df 开始,例如:
C,n
AAA,1
AAA,2
BBB,1
BBB,2
CCC,1
CCC,2
DDD,1
DDD,2
我想根据C 列中的值的某些条件添加一列。我要补充的栏目是:
df['H'] = df['n'] / 10
返回:
C n H
0 AAA 1 0.1
1 AAA 2 0.2
2 BBB 1 0.1
3 BBB 2 0.2
4 CCC 1 0.1
5 CCC 2 0.2
6 DDD 1 0.1
7 DDD 2 0.2
现在我想为C 列中的值CCC 和DDD 添加相同的列,但使用不同的归一化因子,例如:
df['H'] = df['n'] / 100
这样:
C n H
0 AAA 1 0.1
1 AAA 2 0.2
2 BBB 1 0.1
3 BBB 2 0.2
4 CCC 1 0.01
5 CCC 2 0.02
6 DDD 1 0.01
7 DDD 2 0.02
到目前为止,我尝试将数据框屏蔽为:
mask = df['C'] == 'CCC'
df = df[mask]
df['H'] = df['n'] / 100
这对蒙面样本有效。但是由于我必须应用几个过滤器来保留原始 H 列以获取未过滤的值,所以我很困惑。
【问题讨论】:
标签: python pandas dataframe slice