繁体   English   中英

从 pandas dataframe 中的列中提取值列表

[英]Extract a list of values from a column in a pandas dataframe

我正在尝试从 dataframe 中的列中提取值列表。

例如:

# dataframe with "num_fruit" column 
fruit_df = pd.DataFrame({"num_fruit": ['1 "Apple"', 
                                        '100 "Peach Juice3" 1234 "Not_fruit" 23 "Straw-berry" 2 "Orange"']})
# desired output: a list of values from the "num_fruit" column 
[['1 "Apple"'],
 ['100 "Peach Juice3"', '1234 "Not_fruit"', '23 "Straw-berry"', '2 "Orange"']]

有什么建议么? 非常感谢。

我试过的:

import re 

def split_fruit_val(val):
    return re.findall('(\d+ ".+")', val)

result_list = []
for val in fruit_df['num_fruit']:
    result = split_fruit_val(val)
    result_list.append(result)

print(result_list) 
#output: some values were not split appropriately 
[['1 "Apple"'],
 ['100 "Peach Juice3" 1234 "Not_fruit" 23 "Straw-berry" 2 "Orange"']]

让我们用积极的前瞻性来split一个数字

fruit_df['num_fruit'].str.split(r'\s(?=\d+)')

0                                          [1 "Apple"]
1    [100 "Peach Juice3", 1234 "Not_fruit", 23 "Str...
Name: num_fruit, dtype: object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM