我有一个1x100 1D数组,看起来像:
(A1,B1,C1,D1),(A2,B2,C2.D2),(A3,B3,C3,D3) ..... (A100,B100,C100,D100)
我想将此数组转换为4x100 2D数组,如下所示:
A1, B1, C1, D1
A2, B2, C2, D2
A3, B3, C3, D3
A4, B4, C4, D4
....
A100, B100, C100, D100
我尝试使用Convert a 1D array to a 2D array in numpy重新整形数组,但这并没有解决将我的分组数组元素转换为单独数组元素的问题。
修改
我的数据集是从包含6列的普通Pandas数据框创建的。
df = pd.pivot_table(concord, index = ['Col1','Col2','Col3', 'Col4'], columns
= 'Col5', values = 'Col6')
这会在数据框上生成一个由4列组成的索引,其列数与Col5中的行数相同。然后我用。生成我的分组数组。
df.index.values
这是我正在处理的一个例子:
df = pd.DataFrame(np.random.randn(6,4),columns=list('ABCD'))
df = pd.pivot_table(df, index = ['A','B'], columns = 'C', values = 'D')
df.index.values
答案 0 :(得分:1)
<强>更新强>
In [156]: df.index.values
Out[156]:
array([(-1.1589142652108702, 0.9058310711560317), (-0.8998389109349003, -1.3963768690741623), (-0.39909436307375407, 0.19524579552938015), (
0.3879397588199493, -1.6231489531567047),
(0.4850794016257364, 0.9079649929281776), (1.263583531683934, -0.8985146123002069)], dtype=object)
In [157]: np.array(df.index.values.tolist())
Out[157]:
array([[-1.15891427, 0.90583107],
[-0.89983891, -1.39637687],
[-0.39909436, 0.1952458 ],
[ 0.38793976, -1.62314895],
[ 0.4850794 , 0.90796499],
[ 1.26358353, -0.89851461]])
旧回答:
我想你想使用熊猫:
In [89]: a
Out[89]:
array([['A', 'B', '318443.998', '398601.13'],
['C', 'D', '318443.998', '398601.13']],
dtype='<U10')
In [90]: df = pd.DataFrame(a)
In [91]: df
Out[91]:
0 1 2 3
0 A B 318443.998 398601.13
1 C D 318443.998 398601.13