python把数据变为数据框_python-大熊猫:将CSV系列转换为数据框

您知道该系列将始终保持相同顺序吗?如果是这样,我将创建一个MultiIndex,然后从中进行拆栈.就像您读完本系列一样阅读.我将使用以下数据框:

In [31]: df = pd.DataFrame(np.random.randn(24))

In [32]: df

Out[32]:

0

0 -1.642765

1 1.369409

2 -0.732588

3 0.357242

4 -1.259126

5 0.851803

6 -1.582394

7 -0.508507

8 0.123032

9 0.421857

10 -0.524147

11 0.381085

12 1.286025

13 -0.983004

14 0.813764

15 -0.203370

16 -1.107230

17 1.855278

18 -2.041401

19 1.352107

20 -1.630252

21 -0.326678

22 -0.080991

23 0.438606

In [33]: import itertools as it

In [34]: series_id = it.cycle(list('abcdefghijkl')) # first 12 letters.

In [60]: idx = pd.MultiIndex.from_tuples(zip(series_id, df.index.repeat(12)[:len(df)]))

我们需要重复索引,以便每个系列的第一个观察值都在索引0处.现在将其设置为索引并取消堆栈.

In [61]: df.index = idx

In [62]: df

Out[62]:

0

a 0 -1.642765

b 0 1.369409

c 0 -0.732588

d 0 0.357242

e 0 -1.259126

f 0 0.851803

g 0 -1.582394

h 0 -0.508507

i 0 0.123032

j 0 0.421857

k 0 -0.524147

l 0 0.381085

a 1 1.286025

b 1 -0.983004

c 1 0.813764

d 1 -0.203370

e 1 -1.107230

f 1 1.855278

g 1 -2.041401

h 1 1.352107

i 1 -1.630252

j 1 -0.326678

k 1 -0.080991

l 1 0.438606

[24 rows x 1 columns]

In [74]: df.unstack(0)[0]

Out[74]:

a b c d e f g \n0 -1.642765 1.369409 -0.732588 0.357242 -1.259126 0.851803 -1.582394

1 1.286025 -0.983004 0.813764 -0.203370 -1.107230 1.855278 -2.041401

h i j k l

0 -0.508507 0.123032 0.421857 -0.524147 0.381085

1 1.352107 -1.630252 -0.326678 -0.080991 0.438606

[2 rows x 12 columns]

unstack(0)表示将外部索引标签移动到列.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值