gpt4 book ai didi

python - 将 Pandas DataFrame 转换为 DataFrame 列表

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:37 24 4
gpt4 key购买 nike

我有这样的数据:

1.00 1.00 1.00
3.23 4.23 0.33
1.23 0.13 3.44
4.55 12.3 14.1
2.00 2.00 2.00
1.21 1.11 1.11
3.55 5.44 5.22
4.11 1.00 4.00

它以 4 block 为单位出现。 block 的第一行是索引,其余是值。 block 总是有 4 行,但列数可以超过 3。

例如:

1.00 1.00 1.00 <- 1st chunk, the index = 1

3.23 4.23 0.33 <- values
1.23 0.13 3.44 <- values
4.55 12.3 14.1 <- values

我上面的例子只包含 2 个 block ,但实际上它可以包含更多。

我想做的是创建一个数据框字典,这样我就可以处理它们一 block 一 block 地。即从这个:

In [1]: import pandas as pd

In [2]: df = pd.read_table("http://dpaste.com/29R0BSS.txt",header=None, sep = " ")

In [3]: df
Out[3]:
0 1 2
0 1.00 1.00 1.00
1 3.23 4.23 0.33
2 1.23 0.13 3.44
3 4.55 12.30 14.10
4 2.00 2.00 2.00
5 1.21 1.11 1.11
6 3.55 5.44 5.22
7 4.11 1.00 4.00

进入数据框列表,这样我就可以做这样的事情(我手工做):

>> # Let's call new data frame  `nd`.
>> nd[1]
>> 0 1 2
0 3.23 4.23 0.33
1 1.23 0.13 3.44
2 4.55 12.30 14.10

最佳答案

有很多方法可以做到这一点;我倾向于使用 groupby,例如像

>>> grouped = df.groupby(np.arange(len(df)) // 4)
>>> d = {v.iloc[0][0]: v.iloc[1:].reset_index(drop=True) for k,v in grouped}
>>> for k,v in d.items():
... print(k)
... print(v)
...
1.0
0 1 2
0 3.23 4.23 0.33
1 1.23 0.13 3.44
2 4.55 12.30 14.10
2.0
0 1 2
0 1.21 1.11 1.11
1 3.55 5.44 5.22
2 4.11 1.00 4.00

关于python - 将 Pandas DataFrame 转换为 DataFrame 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25800312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com