【发布时间】:2017-03-26 15:09:52
【问题描述】:
我有以下熊猫系列,其中每一行都是一个没有空格的长字符串。它的形状为(250,)(即有250行)
import pandas as pd
sr1 = pd.Series(...)
0
0 abdcadbcadcbadacbadbdddddacbadcbadadbcadbcadad...
1 cacacdacadbdcadcabdcbadcbadbdabcabdbbbbbacdbac...
2 bbbbbcadcacddabcadbcdabcbaddcbadcbadbcadbcaaba...
3 acdbcdacdbadbadcbdbaaaacbdacadbacaddcabdacbdab...
....
我有一个包含 250 个字符串的列表,我想将它们附加到每一行的开头。
list_of_strings = ["prefix1", "prefix2", "prefix3", ...., "prefix250"]
如何将list_of_strings 中的每个元素附加到sr1 中的相应行?生成的 Series 应如下所示:
0
0 prefix1 abdcadbcadcbadacbadbdddddacbadcbadadbcadbcadad...
1 prefix2 cacacdacadbdcadcabdcbadcbadbdabcabdbbbbbacdbac...
2 prefix3 bbbbbcadcacddabcadbcdabcbaddcbadcbadbcadbcaaba...
3 prefix4 acdbcdacdbadbadcbdbaaaacbdacadbacaddcabdacbdab...
....
我的第一个想法是尝试类似:
sr1.insert(0, "prefixes", value = list_of_strings)
但这会引发错误AttributeError: 'Series' object has no attribute 'insert'。可以将sr1 转换为带有sr1 = sr1.to_frame() 的pandas DataFrame,而之前的.insert() 将产生一个包含两列的DataFrame。
在python中,我们可以使用指定的分隔符连接字符串,如下所示:
first = "firstword"
second = "secondword"
combined = " ".join([first, second])
## outputs 'firstword secondword'
我不确定 pandas 系列的情况如何。也许.apply(' '.join)不知何故?
【问题讨论】:
标签: python pandas string-concatenation series