Pandas格式(在输出中添加':')

问题描述 投票:0回答:1

我有一个输出,当前这样输出:h1 h21 5a2 4a3 3

但是,我需要输出看起来像这样:a1:5a2:4a3:3

老实说,我不确定使用什么格式将其格式化为此表格。

pandas
1个回答
0
投票

我认为您可以做到,

设置数据框

df = pd.DataFrame ({'h1' : ['a1','a2','a3'], 'h2' : ['5','4','3']})

加入两列

df['h3'] = df[['h1', 'h2']].apply(lambda x: ':'.join(x), axis=1)

您得到此输出

enter image description here

EDIT扩展此示例

加入任意数量的列

对于任何列数删除对列的特定引用

df['h3'] = df.apply(lambda x: ':'.join(x), axis=1)

这将合并列中的所有值

将数字转换为字符串

为了使连接有效,将整数转换为字符串

df['h2'] = df['h2'].apply(str)

我们在此扩展示例中看到

创建数据框

df = pd.DataFrame ({'h1' : ['a1','a2','a3'], 
                    'h2' : [5,4,3],
                    'hx' : ['X','Y','Z'], 
                    'hy' : ['A','B','C'] })

注意h2列现在是整数

将h2转换为字符串

df['h2'] = df['h2'].apply(str)

应用联接

df['h3'] = df.apply(lambda x: ':'.join(x), axis=1)

产生以下内容

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.