Python 将两列数据连接到表中的一列中

Python 将两列数据连接到表中的一列中,python,pandas,Python,Pandas,我在熊猫中有两列,如下所示: column_a column_b ok pen ok book 0.615 C/H 0.551 I/H 有没有办法将这两列连接成这样一列 column_c pen book 0.615 0.551 我尝试了很多方法,但都无法达到我想要的效果,有一个简单的

我在熊猫中有两列,如下所示:

  column_a       column_b
     ok            pen
     ok            book
    0.615          C/H
    0.551          I/H 
有没有办法将这两列连接成这样一列

      column_c
        pen
        book
        0.615
        0.551

我尝试了很多方法,但都无法达到我想要的效果,

有一个简单的解决方案:

df = pd.DataFrame({"column_a": ["ok", "ok", 0.615, 0.551], "column_b": ["pen", "book", "C/H", "I/H"]})

# Generate your condition
CONDITION = df["column_a"] == "ok"

#Initilize your new column to the first one.
df.loc[:,"together"] = df["column_a"]

# Add new column with the condition, called together
df.loc[CONDITION, "together"] = df["column_b"]


    column_a    column_b    together
0   ok          pen          pen
1   ok          book         book
2   0.615       C/H          NaN
3   0.551       I/H          NaN

因此,基本上您要创建第一列的副本,然后定义一个条件,在这里您要更新该值。在本例中,我使用列a=ok

如果您确实只需要它,您可以手动执行:

df
   column_a column_b
0       ok      pen
1       ok     book
2    0.615      C/H
3    0.551      I/H

df['column_c'] = list(df.iloc[0:2, 1]) + list(df.iloc[2:,0])
df

 column_a column_b column_c
0    ok      pen      pen
1    ok     book     book
2  0.615     C/H    0.615
3  0.551     I/H    0.551

是的,但是连接需要遵循什么条件/规则呢?是的,因为在列a中,列中的值有时会重复,比如:`ok ok 0.615 0.551 ok 0.425 0.136 ok ok`,这与列b相同:`pen book C/H I/H notebook C/H I/H Paper magazine`