【问题标题】:How to separate elements in a pandas Dataframe如何分隔熊猫数据框中的元素
【发布时间】:2022-06-27 16:11:13
【问题描述】:

我正在尝试处理以下数据帧

import pandas as pd

df =pd.DataFrame(
    data = {'m1' : [0,0,1,0,0,0,0,0,0,0,0],
            'm2' : [0,0,0,0,0,1,0,0,0,0,0],
            'm3' : [0,0,0,0,0,0,0,0,1,0,0],
            'm4' : [0,1,0,0,0,0,0,0,0,0,0],
            'm5' : [0,0,0,0,0,0,0,0,0,0,0],
            'm6' : [0,0,0,0,0,0,0,0,0,1,0]}
) 
df
#
  m1 m2 m3 m4 m5 m6
0  0  0  0  0  0  0
1  0  0  0  1  0  0
2  1  0  0  0  0  0
3  0  0  0  0  0  0
4  0  0  0  0  0  0
5  0  1  0  0  0  0
6  0  0  0  0  0  0
7  0  0  0  0  0  0
8  0  0  1  0  0  0
9  0  0  0  0  0  1
10 0  0  0  0  0  0

从上面的数据框中,我想将 m1 和其他特征分开。

如果 m2 到 m6 中的任何一个为 1,则将 1 分配给 m_other。

理想的结果如下所示。

   m1 m_other
0  0  0  
1  0  1  
2  1  0  
3  0  0 
4  0  0  
5  0  1  
6  0  0  
7  0  0  
8  0  1  
9  0  1 
10 0  0

我想过调整any函数,但我跌跌撞撞地想不通。

如果有人有任何好的想法,如果你能与我分享,我将不胜感激。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    用途:

    df = df[['m1']].assign(m_other=df.iloc[:, 1:].any(axis=1).astype(int))
    print (df)
        m1  m_other
    0    0        0
    1    0        1
    2    1        0
    3    0        0
    4    0        0
    5    0        1
    6    0        0
    7    0        0
    8    0        1
    9    0        1
    10   0        0
    

    【讨论】:

      猜你喜欢
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      相关资源
      最近更新 更多