我已经看到了将一个列/系列爆炸成Pandas数据帧的多个列的主题的一些变化,但我一直在尝试做一些事情而不是真正成功地使用现有的方法.
给定一个像这样的DataFrame:
key val
id
2 foo oranges
2 bar bananas
2 baz apples
3 foo grapes
3 bar kiwis
Run Code Online (Sandbox Code Playgroud)
我想将key系列中的项目转换为列,并将val值作为值,如下所示:
foo bar baz
id
2 oranges bananas apples
3 grapes kiwis NaN
Run Code Online (Sandbox Code Playgroud)
我觉得这应该是相对简单的事情,但是我现在一直在抨击我的头几个小时,随着卷积水平的提高,并没有成功.
我有一个很大的数据框,并且我存储了很多冗余值,这些值使处理数据变得困难。我有一个形式的数据框:
import pandas as pd
df = pd.DataFrame([["a","g","n1","y1"], ["a","g","n2","y2"], ["b","h","n1","y3"], ["b","h","n2","y4"]], columns=["meta1", "meta2", "name", "data"])
>>> df
meta1 meta2 name data
a g n1 y1
a g n2 y2
b h n1 y3
b h n2 y4
Run Code Online (Sandbox Code Playgroud)
我在其中输入了想要的新列的名称,name并在中输入了相应的数据data。
我想产生一个形式的数据框:
df = pd.DataFrame([["a","g","y1","y2"], ["b","h","y3","y4"]], columns=["meta1", "meta2", "n1", "n2"])
>>> df
meta1 meta2 n1 n2
a g y1 y2
b h y3 y4
Run Code Online (Sandbox Code Playgroud)
所调用meta的列是包含大多数数据的其他15列以上的列,我认为这不是特别适合索引的。我的想法是,目前我存储了很多重复/冗余的数据meta,我想产生一个更紧凑的数据框。
我发现了一些类似的问题,但无法指出我需要执行哪种操作:数据透视,重新索引,堆栈或拆栈等。
PS-原始索引值对我而言并不重要。
任何帮助将非常感激。
我认为相关的问题:
我认为以下问题与我要执行的操作有关,但是我不知道如何应用它,因为我不想产生更多的索引。