Pandas 将数据帧的行转换为单独的数据帧
我需要从单独的1行数据帧转换为数据帧的行。在这里寻找最有效/干净的方法 我需要保留列名,这是一个机器学习模型,我基本上需要一个数据帧列表 我当前的解决方案:Pandas 将数据帧的行转换为单独的数据帧,pandas,dataframe,Pandas,Dataframe,我需要从单独的1行数据帧转换为数据帧的行。在这里寻找最有效/干净的方法 我需要保留列名,这是一个机器学习模型,我基本上需要一个数据帧列表 我当前的解决方案: def get_data(filename): dataframe = pd.read_csv(filename, sep=';') dataframes = [] for i,row in dataframe.iterrows(): dataframes.append(row.to_frame().T) ret
def get_data(filename):
dataframe = pd.read_csv(filename, sep=';')
dataframes = []
for i,row in dataframe.iterrows():
dataframes.append(row.to_frame().T)
return dataframes
这看起来效率很低,可能有一个更简洁的解决方案。试试:
df_list = []
_ = dataframe.apply(lambda x: df_list.append(x.to_frame().T),axis=1)
尝试:
使用:
或:
使用:
或:
如果我知道你想要的是这样的东西:
start = 0
end = dataframe.shape[0]
dataframes = dataframe.loc[start:end]
如果我知道你想要的是这样的东西:
start = 0
end = dataframe.shape[0]
dataframes = dataframe.loc[start:end]
谢谢,这很完美,第一种方法比第二种方法快?@stackofac-Yop,不幸的是,生成许多数据帧的速度很慢…真是太慢了,因为我必须将数据帧声明为一个变量,而对于慢速方法,我只需返回[x.to_frame().T for i,x in pd.read_csv(filename,sep=').T.items()]这不是我的意思,缓慢的解决方案可以写成一行,第一行不行。还是我错了?@stackofac-yop,你是对的,但一行解决方案并不意味着最快;)谢谢,这很完美,第一种方法比第二种方法快?@stackofac-Yop,不幸的是,生成许多数据帧的速度很慢…真是太慢了,因为我必须将数据帧声明为一个变量,而对于慢速方法,我只需返回[x.to_frame().T for i,x in pd.read_csv(filename,sep=').T.items()]这不是我的意思,缓慢的解决方案可以写成一行,第一行不行。还是我错了?@stackofac-yop,你是对的,但一行解决方案并不意味着最快;)
start = 0
end = dataframe.shape[0]
dataframes = dataframe.loc[start:end]