weixin_46617641 2022-05-04 15:46 采纳率: 92.3%
浏览 63
已结题

根据条件向dataframe中增加行

问题遇到的现象和发生背景

img


这里,对tau这一列,如果tau里面,右边的-左边的=1则增加一行,并且增加的一行为重复本行的值。
即对第一个数据[1,3],3-1=2,所以重复两行数据。变成下图

img

问题相关代码,请勿粘贴截图
import numpy as np
import pandas as pd
import csv
from scipy.stats import norm
from pandas import DataFrame
tau = pd.read_csv("C:/Users/DELL/Desktop/dthu.csv", header=0, usecols=['tau'])
tau = np.array(tau)

buck=[]
for x,y in range(len(tau)):
    if y-x==0:
        continue
    if y-x!=0:

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • ENGineer_zlshuo 2022-05-06 12:08
    关注
    import pandas as pd
    import numpy as np
    
    
    def copy(df, row, exist):  # 自定义函数,用以根据计算结果进行行的复制任务
        idx = []
        for r in range(exist):
            idx.append(row)
        return df.iloc[idx, :]
    
    
    DF = pd.read_csv("test.csv", header=0)
    tau = np.array(DF[['tau']])
    """
    源文件的内容是这样的
       date  time     tau
    0     1    11  [1, 3]
    1     2    22  [3, 4]
    2     3    33  [5, 5]
    """
    
    dfs = []
    for t in range(len(tau)):  # 遍历每一行,计算应产生几个表,然后将各部分存在dfs列表里
        left = eval(tau[t][0])[0]
        right = eval(tau[t][0])[1]
        compare = right - left
        EXIST = compare + 1
        dfs.append(copy(DF, t, EXIST))
    
    result = dfs[0]
    for index in range(1, len(dfs)):  # 拼接每个在dfs中的子结构
        step = dfs[index]
        result = pd.concat([result, step])
    
    result.reset_index(drop = True, inplace = True)  # 结果是拼凑而成的,所以可以重置以消除重复的索引
    
    print(result)  # to_csv()也可以写
    """
    运行后的结果是这样的
       date  time     tau
    0     1    11  [1, 3]
    1     1    11  [1, 3]
    2     1    11  [1, 3]
    3     2    22  [3, 4]
    4     2    22  [3, 4]
    5     3    33  [5, 5]
    """
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 5月4日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度