不同列长的表格
我有一份物品清单:
list = [1, 2, 3, 4, 5, ...... 2, 7, 4, 9, .....]
现在我需要创建一个表格,里面有固定数量的列。我的代码逻辑应该是这样的:
- 从这个
list
中取一个值 - 经过一些逻辑判断后,我想把
list
中的值放到我表格的特定列里。因此,最后这个表格(或者叫数据框)中的每一列的长度应该是不一样的。
一种简单的解决办法是创建其他的列表,把值放到这些列表里。最后我可以把这些列表的长度调整一致(比如用一些值像 NaN
来填补),然后从这些列表创建数据框。
可能有人能给我更好的解决方案...
举个例子,我尝试用 pandas 的数据框来做,但我不想添加整行,只想把唯一的值放到特定的列里。
1 个回答
1
你可以使用 groupby.cumcount()
和 pivot()
,下面是一个例子:
import numpy as np
import pandas as pd
numbers = np.random.randint(0, 1000, 100)
col = numbers % 4 # put your logic here
s = pd.Series(numbers)
cnt = s.groupby(col).cumcount()
pd.pivot(cnt, col, numbers)