我有以下pandas
Dataframe
import pandas as pd
a = [2.5,3.3]
b = [3.6,3.9]
D = {'A': a, 'B': b}
这就给了我
+---+-----+-----+
| | A | B |
+---+-----+-----+
| 0 | 2.5 | 3.3 |
| 1 | 3.6 | 3.9 |
+---+-----+-----+
我想将此 Dataframe 转换为结构化数组,如
data = np.rec.array([
('A', 2.5),
('A', 3.6),
('B', 3.3),
('B', 3.9),
], dtype = [('Type','|U5'),('Value', '<i8')])
我没有找到一种方法来实现这个目标,因为我是Pandas的新手。我尝试了pd.to_records
,但是索引阻碍了我,我找不到一种方法来解决这个问题。
任何帮助都很感激。谢谢。
4条答案
按热度按时间4xrmg8kj1#
Melt the DataFrame将
A
和B
(列索引)合并为一列。要去掉数字索引,请将此新列作为索引。然后调用to_records()
:收益率
这是关键的一步:
融化DataFrame后,
to_records
(基本上)返回所需的结果:enyaitl32#
x3naxklr3#
您可以融化并调用_records:
to94eoyn4#
为我工作而不融化