使用 MultiIndex 提供给 DataFrame 的数据结构
Data structure to provide to DataFrame with MultiIndex
我用 MultiIndex 添加了一些 headers,但提供给 DataFrame 的数据结构发生了变化。事实上,我曾经使用列表字典,但现在不起作用。
这是我的代码:
data_1 = {'a': ['d', 'd', 'd'],
'b': ['4', 'f', '4'],
'c': ['f', 't', 't'],
'd': ['38', 'B24t', 'dod']
}
col = pd.MultiIndex.from_arrays([['one', 'one', 'one', 'two'],
['a', 'b', 'c', 'd']]
)
data = pd.DataFrame(data_1, columns=col)
但是列的值为空:
这就是我想要做的:
set_axis
通过尝试将 col
对象传递给 DataFrame
构造函数,Pandas 试图将 data_1
的 keys
与中的值对齐col
...而且它没有排队。所以你可以 set_axis
事后改为。
data = pd.DataFrame(data_1).set_axis(col, axis=1)
data
one two
a b c d
0 d 4 f 38
1 d f t B24t
2 d 4 t dod
或者,您可以在传递给构造函数的字典的键中提供 MultiIndex
信息。
data_1 = {
('one', 'a'): ['d', 'd', 'd'],
('one', 'b'): ['4', 'f', '4'],
('one', 'c'): ['f', 't', 't'],
('two', 'd'): ['38', 'B24t', 'dod']
}
data = pd.DataFrame(data_1)
data
one two
a b c d
0 d 4 f 38
1 d f t B24t
2 d 4 t dod
我用 MultiIndex 添加了一些 headers,但提供给 DataFrame 的数据结构发生了变化。事实上,我曾经使用列表字典,但现在不起作用。
这是我的代码:
data_1 = {'a': ['d', 'd', 'd'],
'b': ['4', 'f', '4'],
'c': ['f', 't', 't'],
'd': ['38', 'B24t', 'dod']
}
col = pd.MultiIndex.from_arrays([['one', 'one', 'one', 'two'],
['a', 'b', 'c', 'd']]
)
data = pd.DataFrame(data_1, columns=col)
但是列的值为空:
这就是我想要做的:
set_axis
通过尝试将 col
对象传递给 DataFrame
构造函数,Pandas 试图将 data_1
的 keys
与中的值对齐col
...而且它没有排队。所以你可以 set_axis
事后改为。
data = pd.DataFrame(data_1).set_axis(col, axis=1)
data
one two
a b c d
0 d 4 f 38
1 d f t B24t
2 d 4 t dod
或者,您可以在传递给构造函数的字典的键中提供 MultiIndex
信息。
data_1 = {
('one', 'a'): ['d', 'd', 'd'],
('one', 'b'): ['4', 'f', '4'],
('one', 'c'): ['f', 't', 't'],
('two', 'd'): ['38', 'B24t', 'dod']
}
data = pd.DataFrame(data_1)
data
one two
a b c d
0 d 4 f 38
1 d f t B24t
2 d 4 t dod