将单个文本列拆分为多个列 Pandas

Splitting single text column into multiple columns Pandas

我正致力于从各种来源提取原始数据。经过一个过程,我可以形成一个看起来像这样的数据框。

                                                              data
0               ₹ 16,50,000\n2014 - 49,000 km\nJaguar XF 2.2\nJAN 16
1               ₹ 23,60,000\n2017 - 28,000 km\nMercedes-Benz CLA 200 CDI Style, 2017, Diesel\nNOV 26 
2               ₹ 26,00,000\n2016 - 44,000 km\nMercedes Benz C-Class Progressive C 220d, 2016, Diesel\nJAN 03

我想按照原始数据出现的顺序将这个原始数据框拆分成相关的列:价格、年份、里程、姓名、日期

我尝试使用 df.data.split('-', expand=True) 和其他定界符选项以及一些 lambda 函数来实现这一点,但没有取得太大的成功。

需要帮助将此数据拆分到相关列中。

预期输出:

    price       year    mileage           name           date
    16,50,000   2014    49000   Jaguar 2.2 XF Luxury    Jan-17
    23,60,000   2017    28000   CLA CDI Style           Nov-26    
    26,00,000   2016    44000   Mercedes C-Class C220d  Jan-03

尝试在 '\n' 上拆分,然后在 '-'

上拆分
df[["Price","Year-Mileage","Name","Date"]] =df.data.str.split('\n', expand=True)
df[["Year","Mileage"]] =df ["Year-Mileage"].str.split('-', expand=True)
df.drop(columns=["data","Year-Mileage"],inplace=True)
print(df)

    Price         Name          Date      Year  Mileage
0   ₹ 16,50,000 Jaguar XF 2.2   JAN 16  2014    49,000 km
2   ₹ 26,00,000 Mercedes Benz C-Class Progressive C 220d, 2016, Diesel  JAN 03  2016    44,000 km
1   ₹ 23,60,000 Mercedes-Benz CLA 200 CDI Style, 2017, Diesel   NOV 26  2017    28,000 km