Python 要拆分的字符串列表的每个元素

Python 要拆分的字符串列表的每个元素,python,string,pandas,loops,split,Python,String,Pandas,Loops,Split,我刚刚执行了熊猫系列对象,如下所示: 0 ['str1', 'str2', 'str3', 'str4', ...] 1 ['str5', 'str6', 'str7', 'str8', ...] 2 ['str9', 'str10', 'abcde.fghi', 'str12', ...] . . . 在这里,我想保留格式,并用分隔符“.”分割像“abcde.fghi”这样的字符串 将“abcde.fghi”替换为“abcde” 在“abcde”之后

我刚刚执行了熊猫系列对象,如下所示:

0        ['str1', 'str2', 'str3', 'str4', ...]
1        ['str5', 'str6', 'str7', 'str8', ...]
2        ['str9', 'str10', 'abcde.fghi', 'str12', ...]
.
.
.
在这里,我想保留格式,并用分隔符“.”分割像“abcde.fghi”这样的字符串

  • 将“abcde.fghi”替换为“abcde”
  • 在“abcde”之后插入“fghi”,然后插入“str12”
  • 它需要保持这种格式。我想要的是:

    2        ['str9', 'str10', 'abcde', 'fghi', 'str12', ...]
    
    这一系列的列表不仅仅是它们。就像300000行,所以我需要在迭代中使用split函数

    +++ 我在应用nltk word_标记化后得到了这个系列

    lists_above=mydataframe['textcolum'].apply(word_tokenize)
    

    但是,由于数据中有许多没有空格的句子,因此我尝试了更多的步骤

    您可以很容易地通过pandas中的lambda列表理解来做到这一点:

    df['words'] = df['words'].apply(lambda x: [item for sub in x for item in sub.split('.')])
    

    您可以很容易地在pandas中使用lambda列表进行理解:

    df['words'] = df['words'].apply(lambda x: [item for sub in x for item in sub.split('.')])
    
    试试这个(如果列表是字符串,第一个,如果列表是列表,第二个):

    输出:

    0       ['str1', 'str2', 'str3', 'str4', 'str4']
    1       ['str5', 'str6', 'str7', 'str8', 'str1']
    2    ['str9', 'str10', 'abcde', 'fghi', 'str12']
    
    试试这个(如果列表是字符串,第一个,如果列表是列表,第二个):

    输出:

    0       ['str1', 'str2', 'str3', 'str4', 'str4']
    1       ['str5', 'str6', 'str7', 'str8', 'str1']
    2    ['str9', 'str10', 'abcde', 'fghi', 'str12']
    

    [x代表['str9'、'str10'、'abcde.fghi'、'str12']中的项目,x代表项目.split('.')]
    可能会考虑在pandas中使用刚刚提供的@futas函数apply欢迎使用堆栈溢出。到目前为止,您尝试了什么?
    [x代表['str9'、'str10'、'abcde.fghi'、'str12']中的项目,x代表项目.split('.')]
    可能会考虑在pandas中使用apply,并使用刚刚提供的@futas函数欢迎使用堆栈溢出。到目前为止,您尝试了什么?我认为这只适用于假设行是字符串而不是列表的情况…即。如果每行(x)都是一个列表,则不能拆分list@DerekEden我的数据帧通常在列表中打印时不带引号:0[str1,str2,str3,str4,str4]1['str5','str6','str7','str8','str1']@DerekEden有时会让人感到困惑,我只是使用了输出,但我会添加一个更新作为另一个,特别是如果Jay P想看我听到了…我想他们只是用引号手动键入列表…在OP中他们说“列表系列”,所以让我相信他们是字符串列表我认为这只适用于假设行是字符串而不是列表…即。如果每行(x)都是一个列表,则不能拆分list@DerekEden我的数据帧通常在列表中打印时不带引号:0[str1,str2,str3,str4,str4]1['str5','str6','str7','str8','str1']@DerekEden有时会让人感到困惑,我只是使用了输出,但我会添加一个更新作为另一个,特别是如果Jay P想看我听到了我想他们只是用引号手动键入列表在OP中他们说“列表系列”,所以让我相信它们是字符串列表