【发布时间】:2021-01-10 12:18:51
【问题描述】:
有人可以建议我如何使用 pandas 将每 n 行从一列转换为多列。假设我有一个包含以下内容的数据框:-
| index | 0 |
|---|---|
| 0 | 275 |
| 1 | 0.81 |
| 2 | 388 |
| 3 | 2.26 |
| 4 | 275 |
| 5 | 0.93 |
| 6 | 447 |
| 7 | 2.60 |
| 8 | 275 |
| 9 | 1.05 |
| 10 | 500 |
| 11 | 2.91 |
| 12 | 275 |
| 13 | 1.15 |
| 14 | 549 |
| 15 | 3.20 |
想要的输出:-
| index | "A" | "B" | "C" | "D" |
|---|---|---|---|---|
| 0 | 275 | 0.81 | 388 | 2.26 |
| 1 | 275 | 0.93 | 447 | 2.60 |
| 2 | 275 | 1.05 | 500 | 2.91 |
| 3 | 275 | 1.15 | 549 | 3.20 |
我试过pd.wide_to_long,但没用。
df3 = pd.wide_to_long(df, stubnames= '0', i='index', j='id')
非常感谢任何建议。谢谢。
【问题讨论】:
-
看看
numpy.reshape -
帮助 OP @Ch3steR
-
@sammywemmy 我在移动 rn 上。写不出答案。
np.reshape有时会失败,但如果shape是7并且 OP 想要2列,则会引发错误。为了使它起作用,使用fill_value填充会起作用,但OP 没有指定任何关于它的内容。看起来有人已经回答了;)
标签: python python-3.x pandas