【问题标题】:How to add a specific row in a pandas dataframe multiple times如何在熊猫数据框中多次添加特定行
【发布时间】:2019-10-04 23:44:54
【问题描述】:

我有一个 13 列 x 557 行的数据框。我已将数据导出到 excel,但我想每 56 行添加第一行(列名),以便在打印时,标题位于顶部。

我尝试了很多类似 .concat 和 .append 的东西,但我是 Pandas 的初学者,所以我不是很好

我在代码末尾附近添加了标题,我在列表中有正确的名称,但它只是把所有东西都搞砸了

header = []
for title in order:
    header.append(title)
panda.iloc[2] = header

注意 header = ['Age', 'RK', 'Team', ...]

【问题讨论】:

  • 添加一个示例数据框和一个预期的输出,以便我们和以后会查看这篇文章的人们更好地理解。
  • 这需要在pandas级别完成吗?如果您从 excel 打印,则有一些工具可以始终打印允许格式更改等的标题行。作为奖励,它们还将标题(和行索引,如果您关心它们)保持在顶部(滚动时字段的边)。

标签: python pandas


【解决方案1】:

np.split

假设k 是您希望每次拆分的行数

df = pd.DataFrame(1, range(20), [*'ABC'])

k = 5
print(*np.split(df, range(k, len(df), k)), sep='\n\n')

   A  B  C
0  1  1  1
1  1  1  1
2  1  1  1
3  1  1  1
4  1  1  1

   A  B  C
5  1  1  1
6  1  1  1
7  1  1  1
8  1  1  1
9  1  1  1

    A  B  C
10  1  1  1
11  1  1  1
12  1  1  1
13  1  1  1
14  1  1  1

    A  B  C
15  1  1  1
16  1  1  1
17  1  1  1
18  1  1  1
19  1  1  1

【讨论】:

  • 能否请您在 np 之前使用 * 解释一下
  • 这和for a in np.split(...): print(a)是一样的
  • 我觉得我的解释有点不清楚,这是我的新问题的链接[链接]stackoverflow.com/questions/56200592/…
  • @PIG 星号运算符 * 在 ABC 之前和 np 用于解包之前的两个位置。详细解释可以关注youtu.be/sYeqpnAA7U4
猜你喜欢
  • 2022-01-02
  • 2023-01-27
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 2020-07-29
  • 2020-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多