Python 如何创建一列字符串,包括来自另一列的值

Python 如何创建一列字符串,包括来自另一列的值,python,pandas,string,Python,Pandas,String,df= 我想在++之间添加每行值。期望输出: vehicle='车辆很大,黄色地雷' vehicle='车辆很小,红色地雷' vehicle='车辆很小,黑色地雷' 我需要将所有这些字符串合并为一个大字符串: final_vehicle='这辆车很大。黄色地雷 这辆车很小 这辆车很小,是黑色的 但实际数据中的行数是1000+。如何加速?此代码可能是解决问题的方法: car big.yellow small.red small.black 结果: import pandas as pd

df=


  • 我想在++之间添加每行值。期望输出:
  • vehicle='车辆很大,黄色地雷'
    vehicle='车辆很小,红色地雷'
    vehicle='车辆很小,黑色地雷'
    
  • 我需要将所有这些字符串合并为一个大字符串:
  • final_vehicle='这辆车很大。黄色地雷
    这辆车很小
    这辆车很小,是黑色的
    

    但实际数据中的行数是1000+。如何加速?

    此代码可能是解决问题的方法:

    car
    
    big.yellow
    small.red
    small.black
    
    结果:

    import pandas as pd
    df = pd.DataFrame(columns=['id', 'car'])
    df['car'] = ['big.yellow', 'small.red', 'small.black']
    df['id'] = [1,1,1]
    
    df['new'] = df.groupby('id')['car'].apply(lambda x: ('The vehicle is '+x + '\n').cumsum().str.strip())
    df
    
    最后:

    
    id  car             new
    0   1   big.yellow  The vehicle is big.yellow
    1   1   small.red   The vehicle is big.yellow\nThe vehicle is smal...
    2   1   small.black The vehicle is big.yellow\nThe vehicle is smal...
    
    是:

  • 为每行值创建字符串的矢量化方法是:
    • 回答第一个问题,但不是第二个问题
    • df['col']='string'+df.car+'string'
  • 将这些值与以下内容之一组合成一个长字符串:
  • as
    final=df.veh.to_字符串(index=False)
  • as
    final='\n'。加入(df.veh.tolist())
  • 将熊猫作为pd导入
    为测试数据导入字符串#
    为测试数据导入随机#
    #创建测试数据帧
    随机种子(365)
    df=pd.DataFrame({'car':[random.choice(string.ascii_小写)表示范围(10000)])
    #显示(df.head())
    汽车
    v
    J
    W
    Y
    E
    #将veh列添加为字符串,包括car列中的值
    df['veh']=“车辆是”+df.car+“我的”
    #显示(df.head()
    汽车
    这辆车是我的
    这辆车是我的
    这辆车是我的
    这辆车是我的
    这辆车是我的
    #创建一个包含veh中所有值的长字符串
    final=df.veh.to_字符串(index=False)
    打印(最终版)
    这辆车是我的
    这辆车是我的
    这辆车是我的
    这辆车是我的
    这辆车是我的
    ...
    
    df['new'][len(df)-1]
    
    
    'The vehicle is big.yellow\nThe vehicle is small.red\nThe vehicle is small.black'