Bar*_*ski 2 python dataframe pandas
我有DataFrame如下简单的:
df
A B C err col
0 1 10 100 x A
1 2 20 200 y C
2 3 30 300 z D
3 4 40 400 q B
Run Code Online (Sandbox Code Playgroud)
我想创建df['result']具有:
colerr是否存在(第2行像d)无匹配 A B C err col result
0 1 10 100 x A 1
1 2 20 200 y C 200
2 3 30 300 z D z
3 4 40 400 q B 40
Run Code Online (Sandbox Code Playgroud)
Series.where,Series.isin和DataFrame.lookup:首先,我们创建一个名为的系列temp,它检查列名是否在colelse 中填充err。
然后我们使用lookup查找标签col并获取每行的值:
temp = df['col'].where(df['col'].isin(df.columns), other='err')
df['result'] = df.lookup(df.index, temp)
Run Code Online (Sandbox Code Playgroud)
A B C err col result
0 1 10 100 x A 1
1 2 20 200 y C 200
2 3 30 300 z D z
3 4 40 400 q B 40
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
245 次 |
| 最近记录: |