我有一个具有三列列的数据框df:['名称','WD','文件']。与“名称”中每个名称关联的文件在“ WD”列中作为其工作目录,在“文件”列中作为文件名。
我想使用os.path.join方法连接'WD'列和'File'列,以使'File'列显示完整路径。
我尝试了以下脚本,它可以正常工作,但是我想知道是否有一种更好的方法而不使用for循环:
对于df.index中的i:df ['File'] [i] = os.path.join(df ['WD'] [i],df ['File'] [i])
一个简单的解决方案是使用os.sep
而不是os.path.join()
。
>>> df["Path"] = df["WD"] + os.sep + df["File"]
first answer非常好,而且可读性最强,但仅出于完整性和可能不同的用例的考虑,这里还有两个选项:
使用cat
(并置),熊猫的许多string functions之一:
df['WD'].str.cat(df['File'], sep=os.sep)
[apply
any函数用于行或列:
apply