如何将来自同一行中多个熊猫列的值连接到一个新列中?

时间:2019-12-08 21:01:05

标签: python pandas

我有一个看起来像这样的数据集:

          true_time       amount     name      value  fruit
2019-11-28 12:57:00        0.59       AAA      81.98  apple
2019-11-28 12:58:00        2.37       BBB     261.98  orange
2019-11-28 12:59:00       559.4       CCC      71.45  banana

我正在尝试在末尾添加一个称为concat的额外列,该列应包含同一行中某些单元格的连接值字符串。

结果如下:

... fruit     concat
    apple     0.59-AAA-81.98
    orange    2.37-BBB-261.98
    banana    559.4-CCC-71.45

我尝试了点点滴滴,但不确定如何访问每行多个单元格,结果以这种不完整的尝试结束。

df['concat'] = df['concat'].apply(lambda x: '{}-{}-{}'.format(loc[0], loc[1], loc[2]))

当我计划对字符串进行哈希处理并将结果添加到hash列旁边的concat列中时,我可能需要一个独立的函数。

1 个答案:

答案 0 :(得分:0)

只需像通常使用字符串一样添加它们即可。这是一个容易复制的示例:

public class PostComment {

    @Id
    @GeneratedValue
    private Long id;

    String review;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "post_id")
    private Post post;

   private transient Integer postId;

   public PostComment(Integer postId, String review)
   {
           this.postId = postId;
           this.review = review;
   }
import pandas as pd

df = pd.DataFrame({'Name':['Mark', 'Laura', 'Adam', 'Roger', 'Anna'],
                   'Car':['Audi', 'Tesla', 'BMW', 'Ford', 'Hyundai'],
                   'Money':[0, 50, 20, 15, 10]})

print(df)
Out[31]: 
    Name      Car  Money
0   Mark     Audi      0
1  Laura    Tesla     50
2   Adam      BMW     20
3  Roger     Ford     15
4   Anna  Hyundai     10
df['concat'] = df['Name'] + '-' + df['Money'].astype(str) + '-' + df['Car']
print(df)

对于数字列,请不要忘记添加Out[35]: Name Car Money concat 0 Mark Audi 0 Mark-0-Audi 1 Laura Tesla 50 Laura-50-Tesla 2 Adam BMW 20 Adam-20-BMW 3 Roger Ford 15 Roger-15-Ford 4 Anna Hyundai 10 Anna-10-Hyundai