python-3.x 有没有办法使用部分字符串匹配将值附加到Pandas Dataframe?

hrirmatl  于 2023-05-19  发布在  Python
关注(0)|答案(1)|浏览(116)

所以我有一个Pandas Dataframe,看起来像这样:
| 标题|
| --------------|
| 巴克·怀尔德的冰河世纪历险记|
| 披头士乐队:返回-屋顶音乐会|
| 变红|
| 奇普和戴尔:救援游骑兵|
| 僵尸3|
一个列表看起来像这样:

[
'<img src=posters/turning_red.jpeg alt=red>', 
'<img src=posters/ice_age_adventures_of_buck_wild.jpeg alt=ice_age>', 
'<img src=posters/chip_n_dale_rescue_rangers.jpeg alt=rangers>', 
'<img src=posters/beatles_get_back__the_rooftop_concert.jpeg alt=beatles>', 
'<img src=posters/zombies_three.jpeg alt=zombies>'
]

有没有什么方法(没有一些疯狂的正则表达式)将这个列表附加到Dataframe中,以便项目匹配最相似的行?
我在找这样的东西:
| 海报|标题|
| --------------|--------------|
| <img src=posters/ice_age_adventures_of_buck_wild.jpeg alt=ice_age>|巴克·怀尔德的冰河世纪历险记|
| <img src=posters/beatles_get_back__the_rooftop_concert.jpeg alt=beatles>|披头士乐队:返回-屋顶音乐会|
| <img src=posters/turning_red.jpeg alt=red>|变红|
| <img src=posters/chip_n_dale_rescue_rangers.jpeg alt=rangers>|奇普和戴尔:救援游骑兵|
| <img src=posters/zombies_three.jpeg alt=zombies>|僵尸3|

92dk7w1h

92dk7w1h1#

不完全匹配您的预期结果,但您可以创建一个特定的函数来处理从图像标记到标题的常规字符串转换,并使用df.apply(<function>, axis=1)将其应用于新列

import pandas as pd

df = pd.DataFrame({"Posters": [
    '<img src=posters/turning_red.jpeg alt=red>', 
    '<img src=posters/ice_age_adventures_of_buck_wild.jpeg alt=ice_age>', 
    '<img src=posters/chip_n_dale_rescue_rangers.jpeg alt=rangers>', 
    '<img src=posters/beatles_get_back__the_rooftop_concert.jpeg alt=beatles>', 
    '<img src=posters/zombies_three.jpeg alt=zombies>'
]})

def conversion(row):
    return row['Posters'].split('/')[1].split('.jpeg')[0].replace('_', ' ').title()

df['Titles'] = df.apply(conversion, axis=1)

print(df)

相关问题