代码之家  ›  专栏  ›  技术社区  ›  Halil İbrahim Akalın

在pandas处修剪每列值

  •  1
  • Halil İbrahim Akalın  · 技术社区  · 7 年前

    我正在努力。xls文件在使用熊猫将数据导入数据框后,需要对其进行修剪。我有很多专栏。列中以xxx:或yyy:和开头的每个数据 例如:

    1. xxx:abc yyy:def\n
    2. xxx:def yyy:ghi\n
    3. xxx:ghi yyy:jkl\n
    4. 。。。

    我需要为每列修剪xxx:和yyy:。研究并尝试了一些问题解决方案,但都不起作用。我怎样才能修剪它,我需要一个有效的代码。已经谢谢了。

    (不必要的字符没有静态长度,我只知道它们看起来像什么停止词。例如:

    1. [“公司:苹果”,“产品:iPhone”,“年份:2018”,“128GB”,…]
    2. [“公司:三星”,“产品:备注”,“年份:2017”,“64GB”,…]

    我希望新数据集如下所示:

    1. ['Apple','iPhone','2018','128GB',…]
    2. ['Samsung','Note','2017','64GB',…]

    所以我想修剪('公司:','产品:','年份:',…)每列的停止字。

    1 回复  |  直到 7 年前
        1
  •  1
  •   jpp    7 年前

    您可以使用 pd.Series.str.split 为此:

    import pandas as pd
    
    df = pd.DataFrame([['Comp:Apple', 'Product:iPhone', 'Year:2018', '128GB'],
                       ['Comp:Samsung', 'Product:Note', 'Year:2017', '64GB']],
                      columns=['Comp', 'Product', 'Year', 'Memory'])
    
    for col in ['Comp', 'Product', 'Year']:
        df[col] = df[col].str.split(':').str.get(1)
    
    #       Comp Product  Year Memory
    # 0    Apple  iPhone  2018  128GB
    # 1  Samsung    Note  2017   64GB