Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何基于空格和逗号分隔Pandas中的变量_Python_Pandas - Fatal编程技术网

Python 如何基于空格和逗号分隔Pandas中的变量

Python 如何基于空格和逗号分隔Pandas中的变量,python,pandas,Python,Pandas,嗨,我需要删除每个逗号后面的一个单词。例如,如果列中的第一个索引为 'stack overflow, ask question , keep remove' (请注意,它们都在一个刺中) 我需要输出是 'stack, ask, keep' (这是一个字符串) 因此,第一个单词保留,其余单词在每个逗号后删除。 我用了。分开,但我没有得到结果。 这是我的方法 final_re= [mydf.mycolumn.str.split(' ')[index][0] for index in range

嗨,我需要删除每个逗号后面的一个单词。例如,如果列中的第一个索引为

'stack overflow, ask question , keep remove'
(请注意,它们都在一个刺中)

我需要输出是

'stack, ask, keep'
(这是一个字符串)

因此,第一个单词保留,其余单词在每个逗号后删除。 我用了。分开,但我没有得到结果。 这是我的方法

 final_re= [mydf.mycolumn.str.split(' ')[index][0] for index in range(0, len(mydf))]
在本例中,它保留第一个单词,表示输入是否正确

'stack overflow, ask question , keep remove'
我的输出将是公正的

'stack'
然而,我需要把它放出来

'stack, ask, keep'
我很感激你的建议

import re
import pandas as pd

row = [['stack overflow', 'ask question', 'keep remove'],
       ['stack overflow', 'ask question', 'keep remove']]
df = pd.DataFrame(row)
func = lambda x: re.findall('(\w+) \w+', x)[0] if re.findall('(\w+) \w+', str(x)) else x
df = df.applymap(func)
print(df.head())

您可以使用正则表达式捕获由(\w+)表示的第一个单词,并忽略由空格和\w+表示的空格后的单词。如果它找到这样一个字符串,表示空格前的单词,它将用这个单词替换原来的字符串。如果找不到,它会保持原样。

你必须先尝试,然后在尝试中提出问题。虽然这段代码可能会回答这个问题,但如何或为什么解决这个问题会真正有助于提高你的帖子质量。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。