从包含包含逗号分隔值的列的python数据框中选择字符串
我有一个python数据框架,如下所示 身份证件 价值 1. Python(5)、Hadoop(100)、Hive(10)、Hadoop数据(40) 2. SQL(30)、数据库(5)、Hadoop(25) 3. SAS(60)、核心Java(3)、卡夫卡(9)从包含包含逗号分隔值的列的python数据框中选择字符串,python,dataframe,Python,Dataframe,我有一个python数据框架,如下所示 身份证件 价值 1. Python(5)、Hadoop(100)、Hive(10)、Hadoop数据(40) 2. SQL(30)、数据库(5)、Hadoop(25) 3. SAS(60)、核心Java(3)、卡夫卡(9) 因为数据帧中的值是一个巨大的字符串,如下所示 df = pd.DataFrame({'Value':['Python (5), Hadoop (100), Hadoop Data (40)',
因为数据帧中的值是一个巨大的字符串,如下所示
df = pd.DataFrame({'Value':['Python (5), Hadoop (100), Hadoop Data (40)',
'SQL (30), Database (5), Hadoop (25)',
'SAS (60), Core Java (3), Kafka(9)'
]})
>>>
Value
0 Python (5), Hadoop (100), Hadoop Data (40)
1 SQL (30), Database (5), Hadoop (25)
2 SAS (60), Core Java (3), Kafka(9)
这符合你的目的
df['Skill'] = df['Value'].str.findall('Hadoop \w*\s*\(\d+\)').str.join(', ')
>>>df
Value Skill
0 Python (5), Hadoop (100), Hadoop Data (40) Hadoop (100), Hadoop Data (40)
1 SQL (30), Database (5), Hadoop (25) Hadoop (25)
2 SAS (60), Core Java (3), Kafka(9)
添加名为Skill
的新列(也是一个字符串)
我希望这能回答您的问题。数据帧中的值是一个字符串还是一组字符串?感谢mosc9575,感谢您的回答。我更新了样本数据。dataframe中的值是一个大值string@AshishMehta我更新了答案。下次请在第一时间贴一个真实的例子。如果您需要修改
findall()
方法,您必须知道我使用的是常规体验。感谢@mosc9575提供的解决方案,非常感谢。。我对Python非常陌生,因此是小姐。如果这是你问题的解决方案并且对你有帮助,请考虑接受它或投票。是的,它解决了我的问题。我已经接受了。看来这是我第一次提出质疑,我没有足够的声誉来考虑我的投票。再次感谢你的帮助