有没有Python解决方案可以在转换数据后,通过csv_reader重新定义DataFrame定义顺序



这就是我的csv:2个表,一个表有摘要,按行组织,另一个表按列组织。csv_file

我必须读取超过500个csv的文件。我必须将第一个表隐藏到与第二个表相同的范围,这样我就可以执行聚合函数进行分析。

第二个表用解决

df_value = (pd.read_csv(f, sep=';', encoding='latin1', skiprows=8, header=0, usecols=[0,1,2], index_col=False) for f in all_files)
c_df_value = pd.concat(df_value, ignore_index=True, axis=0, join='outer')

问题是第一个表,我重复了我需要的相同范围,但在transpose((之后,我真的不知道如何按照csv_read的顺序重塑表。到目前为止有效的方法:

df = pd.DataFrame()
df = (pd.read_csv(f, sep=';', encoding='latin1', skiprows=2, nrows=5, header=None, index_col=False, usecols=[1]) for f in all_files)
df2 = pd.concat(df, ignore_index=True, axis=0, join='outer')
df2 = df2.transpose()
df2 = pd.DataFrame(np.repeat(df2.values[0:], repeats=8760, axis=0), index=None)

当我尝试使用np.reshape时,我无法输入我需要的顺序:

df = df.rename(columns={0:'Region', 1: 'Cod', 2: 'Lat', 3: 'Lon', 4: 'Alt'})
unique_cols = df.columns.unique().tolist()
new_df = pd.DataFrame(df.values.reshape((-1, len(unique_cols))),columns=unique_cols)

当我尝试使用整形(order='C'(时,按行混合列,(order='A'或order='F'(按顺序混合列。

我尝试过:pd.pivot、pd.melt、pd.wide_to_long

现在怎么样:图片如何重塑,order='C':df2 = pd.DataFrame(df2.values.reshape(-1, 5))无订单退货

有人能帮我吗?谢谢

我想我解决了,2天后,是的,我想是的,下面的代码。


df_list = []
for file in os.listdir('met'):
if file.endswith('.CSV'):
temp_df = pd.read_csv(os.path.join('met', file), sep=';', encoding='latin1', skiprows=2, nrows=5, header=None, usecols=[1])
temp_df = pd.concat([temp_df.transpose()]*8760, ignore_index=True, axis=0, join='outer')

df_list.append(temp_df)
new_df = pd.DataFrame(pd.concat(df_list, ignore_index=True, axis=0, join='outer'))

最新更新