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`