【发布时间】:2020-11-20 05:34:21
【问题描述】:
我有一个包含一系列不同长度整数值的行数据集。我想分隔系列,以便每个整数都有自己的列,但将这些值沿最右边的列对齐。我希望数据框重新识别矩阵的上三角形。
目前我有一个像这样的数据集:
variable value
0 0 [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
1 1 [1, 2, 3, 4, 5, 6, 7, 8, 9]
2 2 [1, 2, 3, 4, 5, 6, 7, 8]
3 3 [1, 2, 3, 4, 5, 6, 7]
4 4 [1, 2, 3, 4, 5, 6]
5 5 [1, 2, 3, 4, 5]
6 6 [1, 2, 3, 4]
7 7 [1, 2, 3]
8 8 [1, 2]
9 9 [1]
我应用了这个功能
df = pd.DataFrame([pd.Series(x) for x in df2.value])
df.columns = ['{}'.format(x+1) for x in df.columns]
我明白了:
1 2 3 4 5 6 7 8 9 10
0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 0.0
1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 NaN
2 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 NaN NaN
3 1.0 2.0 3.0 4.0 5.0 6.0 7.0 NaN NaN NaN
4 1.0 2.0 3.0 4.0 5.0 6.0 NaN NaN NaN NaN
5 1.0 2.0 3.0 4.0 5.0 NaN NaN NaN NaN NaN
6 1.0 2.0 3.0 4.0 NaN NaN NaN NaN NaN NaN
7 1.0 2.0 3.0 NaN NaN NaN NaN NaN NaN NaN
8 1.0 2.0 NaN NaN NaN NaN NaN NaN NaN NaN
9 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN
但我想要的是这个:
1 2 3 4 5 6 7 8 9 10
0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 0.0
1 NaN 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0
2 NaN NaN 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
3 NaN NaN NaN 1.0 2.0 3.0 4.0 5.0 6.0 7.0
4 NaN NaN NaN NaN 1.0 2.0 3.0 4.0 5.0 6.0
5 NaN NaN NaN NaN NaN 1.0 2.0 3.0 4.0 5.0
6 NaN NaN NaN NaN NaN NaN 1.0 2.0 3.0 4.0
7 NaN NaN NaN NaN NaN NaN NaN 1.0 2.0 3.0
8 NaN NaN NaN NaN NaN NaN NaN NaN 1.0 2.0
9 NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.0
【问题讨论】:
-
这是 divakar 在 numpy
justify numpy array987654321@中的非常好的答案
标签: python pandas dataframe nan series