gpt4 book ai didi

python - Pandas - 执行多列转置

转载 作者:行者123 更新时间:2023-12-01 08:41:54 24 4
gpt4 key购买 nike

我有一个数据框如下:

col1,col2,col3,col4
value1,value2,value3,value4

我正在尝试对它们执行转置函数以获得以下输出:

col1,value1
col2,value2
col3,value3
col4,value4

问题是列列表是动态的,它取决于首先提取相应列的用户输入。

使用以下查询获取用户请求的列的列表:

cursor.execute('select {} from table'.format(', '.join(str(cols) for cols in col_names)))

任何人都可以建议我如何执行这样一个具有多列但只有一行输出的数据框的转置。谢谢..

最佳答案

如果您的数据框构造是您在帖子中显示的多列和单行的方式,那么只需将索引设置为您的第一列,在您的情况下为“col1”,然后转置它。

数据框如图所示:

df = pd.DataFrame({ 'col1':['value1'], 'col2':['value2'], 'col3':['value2'], 'col4':['value4']})

col1 col2 col3 col4
0 value1 value2 value2 value4

您可以执行如下操作:

>>> df.set_index('col1',inplace=True) # First set the Index to `col1` + `inplace=True`

现在允许转置..

>>> df.T
col1 value1
col2 value2
col3 value2
col4 value4

一气呵成:

>>> df.set_index('col1').T
col1 value1
col2 value2
col3 value2
col4 value4

注意: df.T 不会执行该作业,因为它会寻找默认索引,即本例中的零作为列。

希望这对您有所帮助。

关于python - Pandas - 执行多列转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53464845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com