在 Python 中乘以 2 个 df 列后在单词之间添加 space

Adding a space between words after multiplying 2 df columns in Python

我的数据框看起来像这样:

column 1 | column 2
apple    | 3
banana   | 4
carrot   | 1

正在使用

print df["column 1"] * df["column 2"] 

returns
appleappleapple
bananabananabananabanana
carrot

但是我希望单词间隔开,即

apple apple apple
banana banana banana banana
carrot

可能真的很基础,但如何做到这一点?谢谢!!

print (df["column 1"] * df["column 2"],sep=" ")

sep 函数的 print 参数允许您在参数之间放置任何您想要的内容。在这种情况下,这是一个差距。

如果您使用 Python 2x 版本,正如@dazedconfused 提到的,您必须导入 from __future__ import print_function 才能使用 sep 参数。

如果只是为了显示目的,这将有效(带有不可见的尾随 space):

print((df["column 1"] + ' ') * df["column 2"])

如果您真的不想要最后的尾随 space,我建议您使用 .apply 和自定义函数来代替,但如果它只是为了显示,那就太过分了。