我导入了一些数据。它只是一行
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