考虑带有txt列的数据框df
df = pd.DataFrame(['String1::some_text::some_text;String2::some_text::;String3::some_text::some_text;String4::some_text::some_text'] * 10,
columns=['txt'])
df
使用str.split 和groupby 的组合
df.txt.str.split(';', expand=True).stack() \
.str.split('::').str[0].groupby(level=0).apply(list)
0 [String1, String2, String3, String4]
1 [String1, String2, String3, String4]
2 [String1, String2, String3, String4]
3 [String1, String2, String3, String4]
4 [String1, String2, String3, String4]
5 [String1, String2, String3, String4]
6 [String1, String2, String3, String4]
7 [String1, String2, String3, String4]
8 [String1, String2, String3, String4]
9 [String1, String2, String3, String4]
dtype: object