【问题标题】:Lookup and add value to new column python查找并向新列 python 添加值
【发布时间】:2020-12-17 04:38:00
【问题描述】:

我有一个包含 2 列的 CSV,我需要在 pandas 中创建一个查找表,该表将根据该行的某些值添加一列。示例:

DIMENSION    ACCOUNT NAME
Tax          Tiger Beta
Config       Tiger Alpha
S3           Lion Alpha
Lambda       Tiger Cigna
Glacier      Beta - Lion

我要补充的:

DIMENSION    ACCOUNT NAME    ADDED_COLUMN1     ADDED_COLUMN2    ADDED_COLUMN3
Tax          Tiger Beta        Other             Tiger_Group      Beta
Config       Tiger Alpha       Other             Tiger_Group      Alpha
S3           Lion Alpha        VM                Lion_Group       Alpha
Lambda       Tiger Cigna       Other             Tiger_Group      Cigna
Glacier      Beta - Lion       VM                Lion_Group       Beta
Snowball     Monkey Alpha       Disk             Monkey_Group     Alpha

基本上我需要它来剥离帐户名称的某些部分并将其添加到新列中,并且我需要 ADDED_COLUMN1 根据 DIMENSION (我选择哪个是 VM,哪个是磁盘,哪个是其他)。

我有什么:

import pandas as pd
import csv
import numpy as np

#turn the csv to a pandas dataframe
data_1 = pd.read_csv('data.csv')


data_1['ADDED_COLUMN1'] = np.where(data_1.DIMENSION.isin(['S3', 'Glacier']), 
'VM', 'Other')

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    你可以这样做:

    rank = {"Alpha", "Beta","Cigna"}
    Animal = {"Tiger", "Lion"}
    
    def Lookup1(x):
        df_words = set(x.split(' '))
        extract_words =  rank.intersection(df_words)
        return ', '.join(extract_words)
    
    def Lookup2(x):
        df_words = set(x.split(' '))
        extract_words =  Animal.intersection(df_words)
        return ', '.join(extract_words)
    
    
    
    df['ADDED_COLUMN3'] = df['ACCOUNT NAME'].apply(Lookup1)
    df['ADDED_COLUMN1'] = df['ACCOUNT NAME'].apply(Lookup2)
    df['ADDED_COLUMN1'] =  df['ADDED_COLUMN1'] +'_Group'
    

    返回

     DIMENSION ACCOUNT NAME ADDED_COLUMN3 ADDED_COLUMN1
    0       Tax   Tiger Beta          Beta   Tiger_Group
    1    Config  Tiger Alpha         Alpha   Tiger_Group
    2        S3   Lion Alpha         Alpha    Lion_Group
    3    Lambda  Tiger Cigna         Cigna   Tiger_Group
    4   Glacier  Beta - Lion          Beta    Lion_Group
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 2016-06-27
      • 1970-01-01
      • 2022-11-12
      • 2011-05-12
      • 1970-01-01
      • 2016-09-27
      相关资源
      最近更新 更多