合并熊猫df中的值

时间:2018-07-25 06:07:09

标签: python pandas merge

我正在尝试在pandas df中合并值。我只想在一行中合并第一个和最后一个值。但是必须在其前面加上一个特定的值。

对于下面的df,如果Col A中的值为X,则合并下一个和最后一个值。

import pandas as pd

d = ({
    'A' : ['X','','X',''],
    'B' : ['A Big','No','Foo','No'],           
    'C' : ['No','Merge','Bar','Merge'],
    'D' : ['Cat','Thanks','','Thanks'],
    })

df = pd.DataFrame(data=d)

预期输出:

   A   B        C          D
0  X           No  A Big Cat
1     No    Merge     Thanks
2  X      Foo Bar           
3     No    Merge     Thanks

我尝试过

if df.A == 'X':
df["Com"] = df["B"].map(str) + df["D"]

但是它返回ValueError。

2 个答案:

答案 0 :(得分:1)

使用:

picks
Model:Pick
belongs_to:user
belongs_to:match
belongs_to:pool
date:datetime

答案 1 :(得分:0)

您可以尝试遍历数据框:

for value in df:
    if value == 'X':
        df["Com"] = df["B"].map(str) + df["D"]
print(df)

您得到的值错误是因为Pandas无法基于Series进行检查,而必须检查实际的行本身。