Combine two columns of text in pandas dataframe

后端 未结 18 1321
-上瘾入骨i
-上瘾入骨i 2020-11-22 01:32

I have a 20 x 4000 dataframe in Python using pandas. Two of these columns are named Year and quarter. I\'d like to create a variable called p

18条回答
  •  余生分开走
    2020-11-22 01:45

    def madd(x):
        """Performs element-wise string concatenation with multiple input arrays.
    
        Args:
            x: iterable of np.array.
    
        Returns: np.array.
        """
        for i, arr in enumerate(x):
            if type(arr.item(0)) is not str:
                x[i] = x[i].astype(str)
        return reduce(np.core.defchararray.add, x)
    

    For example:

    data = list(zip([2000]*4, ['q1', 'q2', 'q3', 'q4']))
    df = pd.DataFrame(data=data, columns=['Year', 'quarter'])
    df['period'] = madd([df[col].values for col in ['Year', 'quarter']])
    
    df
    
        Year    quarter period
    0   2000    q1  2000q1
    1   2000    q2  2000q2
    2   2000    q3  2000q3
    3   2000    q4  2000q4
    

提交回复
热议问题