繁体   English   中英

Pandas 将列转换为行

[英]Pandas convert columns to rows

我是数据科学的初学者,我正在尝试使用 Pandas pivot 这个数据框:

在此处输入图像描述

所以它变成了这样的东西:(标签应该变成列,文件路径应该变成行。)

在此处输入图像描述

我试过这段代码,它给了我一个错误:

在此处输入图像描述

编辑:

我试过 Marcel 的建议,它给出的 output 是这样的: 在此处输入图像描述

“标签”列是一组或 class 个文件路径。 我想以适合此 function 的方式转换它: tf.Keras.preprocessing.image.flow_from_dataframe in categorical

提前感谢大家帮助我。

我不太理解你的问题,但如果你只想将列转换为行,那么你可以

train_df.T

这意味着转置

我想你正在寻找这样的东西:


import pandas as pd

df = pd.DataFrame({
    'labels': ['a', 'a', 'a', 'b', 'b'],
    'pathes' : [1, 2, 3, 4, 5]
})

labels = df['labels'].unique()
new_cols = []
for label in labels:
    new_cols.append(df['pathes'].where(df['labels'] == label).dropna().reset_index(drop=True))
df_final = pd.concat(new_cols, axis=1)

print(df_final)

我发现出了什么问题,我误解了 tf.Keras.preprocessing.image.ImageDataGenerator.flow_from_dataframe 中的 y_col 和x_col 感谢大家的贡献。 您的答案在不同方面都是正确的。 再次感谢Marcel huser16714199

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM