转置数据帧 pandas
transposing dataframe pandas
我有以下文件格式:
SA BTSA01_U01 0 0 0 -9 G G T T
SA BTSA01_U02 0 0 0 -9 G G T T
想用pandas转置它,下面是我试过的代码:
import pandas as pd from pandas import DataFrame
def transpose(file1,file2):
source=pd.read_csv(file1,sep=None,engine='python')
dest=source.transpose()
dest.to_csv(file2)
但是并没有给我想要的输出,下面是输出:
0
SA SA
BTSA01_U01 BTSA01_U02
0 0
0.1 0
0.2 0
-9 -9
G G
G.1 G
T T
T.1 T
我尝试使用一些选项,例如 header=False
、index=False
和 dest.to_csv
,但 none 有效,我想知道添加“.”和第一列中某些值中的“1”,
您没有指定 header=None
,因此您的第一行被解释为列名,但这会生成不允许的重复名称,因此您会附加 .1
。
所以你需要:
source=pd.read_csv(file1,sep=None,engine='python', header=None)
我有以下文件格式:
SA BTSA01_U01 0 0 0 -9 G G T T
SA BTSA01_U02 0 0 0 -9 G G T T
想用pandas转置它,下面是我试过的代码:
import pandas as pd from pandas import DataFrame
def transpose(file1,file2):
source=pd.read_csv(file1,sep=None,engine='python')
dest=source.transpose()
dest.to_csv(file2)
但是并没有给我想要的输出,下面是输出:
0
SA SA
BTSA01_U01 BTSA01_U02
0 0
0.1 0
0.2 0
-9 -9
G G
G.1 G
T T
T.1 T
我尝试使用一些选项,例如 header=False
、index=False
和 dest.to_csv
,但 none 有效,我想知道添加“.”和第一列中某些值中的“1”,
您没有指定 header=None
,因此您的第一行被解释为列名,但这会生成不允许的重复名称,因此您会附加 .1
。
所以你需要:
source=pd.read_csv(file1,sep=None,engine='python', header=None)