我将csv加载到了熊猫数据框中。其中一列包含半冒号分隔的单词列表,例如
海滩度假;足够的空间;游泳池
,我想把它变成一个数组或集合 [“海滩度假”,“足够的空间”,“游泳池”]
或者可以创建一个来自原始字符串的新列。
谢谢!
答案 0 :(得分:1)
推荐的解决方案,特别是如果每个字符串中有相同数量的;
分隔符时,建议创建一个object
dtype系列的数据框,每个元素都包含一个字符串:
df = pd.DataFrame({'A': ['Beach holiday;Plenty of space;Pool',
'Mountain holiday;Plenty of grey;Ice']})
df = df['A'].str.split(';', expand=True)
print(df)
0 1 2
0 Beach holiday Plenty of space Pool
1 Mountain holiday Plenty of grey Ice
建议不要创建一系列列表,而不是;它涉及一个嵌套指针层。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以选中converters
TESTDATA = StringIO("""
A,B
1,Beach holiday;Plenty of space;Pool
1,Beach holiday;Plenty of space;Pool
""")
df = pd.read_csv(TESTDATA ,converters={'B':lambda x : x.split(';')})
df
Out[147]:
A B
0 1 [Beach holiday, Plenty of space, Pool]
1 1 [Beach holiday, Plenty of space, Pool]