2
我有一個pandas.DataFrame
,我想將其轉換爲MultiIndex
ed pandas.DataFrame
。pandas,將DataFrame轉換爲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)
注意,在這個例子中,我創建了我想和我有。
所以,IRL我將開始與df
,並希望把它變成df2
(而不必訪問vals
和result
),我該怎麼辦呢?
美麗的,謝謝! – johnbaltis