格式化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)
希望有所帮助。