Python - Pandas垂直拆分CSV



在这里浏览了论坛,但没有使用熊猫按列拆分的内容。我有列(以 csv 为单位(

Name A1 A2 A3.......A7

名称是"唯一标识符",拆分后需要在两个文件中。

因此,我需要将其拆分为以下两个输出文件作为csv

Name A1 A2 A3 A4
Name A5 A6 A7

有很多例子可以水平拆分,这些对我有用。但垂直拆分是我正在寻找的。理想情况下使用熊猫库。谢谢!

已编辑(抱歉,如果图片渲染不佳。我是这个论坛的新手(

输入文件

输入文件

输出文件 1 输出文件 1

输出文件 2

输出文件 2

您可以直接从熊猫数据框中选择所需的列:

import pandas as pd 
# Define a dictionary containing data 
data = {'Name':['ABC', 'XYZ'], 
'Gender':['M', 'F'], 
'A1':[98, 100], 
'A2':[56, 54],
'A3':[81, 100],
'A4':[94, 99],
'A5':[100, 100],
'A6':[100, 100],
'A7':[100, 100]} 
# Convert the dictionary into DataFrame  
df = pd.DataFrame(data) 
df1 = df[['Name', 'Gender', 'A1', 'A2', 'A3', 'A4']]
df2 = df[['Name', 'Gender', 'A5', 'A6', 'A7']]

结果

DF1:

Name    Gender  A1  A2  A3  A4
0   ABC M   98  56  81  94
1   XYZ F   100 54  100 99

DF2:

Name    Gender  A5  A6  A7
0   ABC M   100 100 100
1   XYZ F   100 100 100

然后,您可以使用简单的to_csv()命令将这些文件导出为 csv:

df1.to_csv('file1.csv')
df2.to_csv('file2.csv')

您可以使用熊猫列索引

df[['Name', 'A1', 'A2', 'A3', 'A4']] and df[['Name', 'A6', 'A7']]

最新更新