如何将列表中的第 n 个术语转置为熊猫导入中的列?



我导入了一些数据。它只是一行

Jane  
M  
52,000 
NYC 
Mike  
M  
38,000 
LA  

依此类推我有 1000 行

我如何让它成为

Name Sex salary City 
Jane  M  52,000 NYC 
Mike  M  38,000 LA   

所以每 5 行就让它成为我猜的一列。

谢谢

简单地reshape.

a = df['column_name'].to_numpy().reshape(-1, 4)

请注意,上面的4表示4列,看起来像是编辑后的内容。以前,看起来您有5列。只要适应你所拥有的一切


使其成为数据帧

pd.DataFrame(a, columns=['Name', 'Sex', 'salary', 'City'])

由于您的问题没有明确定义,并且在您编辑后发生了很大变化,我希望以上内容可以帮助您了解您的需求

你需要抓住每个5个元素的子系列(iloc[](,变换它们(.T(并concat它们。

data = pd.concat([df.iloc[s:s+4].reset_index(drop=True).T for s in range(0,len(df), 5)]).reset_index(drop=True)
data.columns = ['Name', 'Sex', 'City', 'Salary']
data['Sex'] = data['Sex'].str[0]

输出:

Name    Sex     City    Salary
0   MiKE    M       NYC     52,000
1   MiKE    M       NYC     52,000

最新更新