Ich habe eine pandas.DataFrame
, die ich in eine MultiIndex
ed pandas.DataFrame
konvertieren möchte.Pandas, konvertieren DataFrame zu MultiIndex'ed DataFrame
import numpy
import pandas
import itertools
xs = numpy.linspace(0, 10, 100)
ys = numpy.linspace(0, 0.1, 20)
zs = numpy.linspace(0, 5, 200)
def func(x, y, z):
return x * y/z
vals = list(itertools.product(xs, ys, zs))
result = [func(x, y, z) for x, y, z in vals]
# Original DataFrame.
df = pandas.DataFrame(vals, columns=['x', 'y', 'z'])
df = pd.concat((pd.DataFrame(result, columns=['result']), df), axis=1)
# I want to turn `df` into this `df2`.
index = pandas.MultiIndex.from_tuples(vals, names=['x', 'y', 'z'])
df2 = pandas.DataFrame(result, columns=['result'], index=index)
Beachten Sie, dass in diesem Beispiel erstelle ich, was ich will und was ich haben.
So, IRL Ich würde mit df
beginnen und es in df2
machen wollen (und haben keinen Zugang zu vals
und result
), wie mache ich das?
Schöne, danke! – johnbaltis