首页 > 解决方案 > 如何选择一列的一些值并用它们制作另一个?

问题描述

这是一张类似于我正在使用的表格

      A     B   
0   12.2   43
1   10.1   32
2    3.4   34
3   12.0   55
4   40.6   31

而我正在尝试做的是获取 A 列的一些值,这些值遵循某种模式,并创建具有这些值的另一列。例如,C 列将仅包含 A 中大于 12 的值,而 D 列包含小于或等于 12 的值:

      A     B      C     D 
0   12.2   43    12.2   NaN 
1   10.1   32     NaN   10.1
2    3.4   34     NaN   3.4 
3   12.0   55     NaN   12.0
4   40.6   31    40.6   NaN

我尝试为每组值制作一个列表,但我无法将它们与原始表合并,因为有些数字重复并且列数增加。我认为有一种更简单的方法可以做到这一点,但我似乎找不到。我怎样才能做到这一点?

标签: pythonpandasdataframe

解决方案


还有另一个版本:

df['C'] = df.loc[df.A > 12, 'A']
df['D'] = df.loc[df.A <= 12, 'A']

print(df)

印刷:

      A   B     C     D
0  12.2  43  12.2   NaN
1  10.1  32   NaN  10.1
2   3.4  34   NaN   3.4
3  12.0  55   NaN  12.0
4  40.6  31  40.6   NaN

推荐阅读