格式化Pandas / Python中的连接列。

我对Python / Pandas非常陌生,通过Python 3.6(也许3.7?)的Anaconda发行版使用Spyder IDF。我正在通过下面的代码导入一个Excel文件,并想知道如何获得一个输出如下:

伏/ PHASE

目前,Excel中的输出格式如下:

VOLTS.PHASE.0

(另外,我调用的第二列 – PHASE是一个数字,但是它是以两位数的forms输出的。 一个常见的例子是它调用1,但返回01.这是否与Python假设浮动我该如何控制?)

我使用以下资源构build了我的代码:

https://pythonspot.com/en/write-excel-with-pandas/

在pandas / python中结合数据框中的两列文本

下面是我使用的代码。

import pandas as pd from pandas import ExcelWriter from pandas import ExcelFile df = pd.read_excel('C:VAV_Schedule1.xlsx', sheetname = 'VAV 1-2') df["VOLTS/PHASE"] = df["VOLTS"].map(str) + df["PHASE"].map(str) writer = ExcelWriter('Test2.xlsx') df.to_excel(writer, 'VAV 1-2', index=True) writer.save() 

所有你需要做的是在你要join的两个string之间加上+'/'+。

 df["VOLTS/PHASE"] = df["VOLTS"].map(str) + '/' + df["PHASE"].map(str) 

对于你的第二个问题,你可以运行df [“PHASE”] dtype并分享该系列的数据types是什么? 如果它是一个string,那么无论在Excel中将被完全复制。 一种可能的解决scheme是首先明确地将其转换为整数:

 df["VOLTS/PHASE"] = df["VOLTS"].map(str) + '/' + df["PHASE"].astype(int).map(str) 

希望有所帮助。