python - 在Python中的DataFrame的列中重复第n次值
问题描述
我在 Python 中有一个包含 3532 行和 20 列的 DataFrame。我试图从“新”列的第一行到第 706 个值重复每个值的 5 次。如果您看到下面的列,我有 3532 行的“新”列,但我只想将每个值从第一行重复 5 次到第 706 行的值,那么我将有一个具有重复值的新列有 3532 行。如果有人有任何想法,我会很高兴。我在 numpy 和 pandas 中尝试过 df.repeat 也连接命令,但效果不佳
解决方案
numpy.repeat
与Series
构造函数一起使用:
df = pd.DataFrame({'Snew':range(3532)})
#seems in real data is necessary add next value (707) and filter 3532 values
df['Snew'] = np.repeat(df['Snew'].to_numpy()[:707], 5)[:3532]
print (df.tail())
Snew
3527 705
3528 705
3529 705
3530 706
3531 706
推荐阅读
- r - 从 stats.nba.com 抓取表格 - 多种方法不起作用
- go - 在 Go 中使用 Gin Gonic 框架时出现无效的接收器错误
- javascript - Excel Office 脚本:遍历二维数组并使用 setValues 写入数据
- c++ - 在单独的线程上运行第二个二进制文件而不覆盖第一个二进制文件
- node.js - 我错过了什么,我的节点应用程序在更改时没有更新 .env 值?
- kendo-grid - 更改我的 KendoGrid 过滤器中的数据值
- vim - Vim won't load plugin?
- javascript - 如何在不循环数组字符的情况下找到字符串中字符数组的索引
- python - 我需要想办法让我的程序告诉用户他们赢或输,这取决于乌龟是否在圈子里
- r - R常见图例范围颜色中的Plot_ly等高线图未正确显示