Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python迭代电子表格的每一行_Python_Pandas - Fatal编程技术网

Python迭代电子表格的每一行

Python迭代电子表格的每一行,python,pandas,Python,Pandas,我有一个如下所示的数据帧: 我编写了一个函数,它将分解每个时间戳,并计算停机和停机之间的分钟数。我没能让它对每一行进行迭代 data1 = str(list(data['Adjusted_Down'])) data2 = str(list(data['Adjusted_Up'])) breakdown(data1, data2) 参考代码: import pandas as pd data = pd.read_excel('E:\Savers\Python\Python3 - Master\

我有一个如下所示的数据帧:

我编写了一个函数,它将分解每个时间戳,并计算停机和停机之间的分钟数。我没能让它对每一行进行迭代

data1 = str(list(data['Adjusted_Down']))
data2 = str(list(data['Adjusted_Up']))
breakdown(data1, data2)
参考代码:

import pandas as pd

data = pd.read_excel('E:\Savers\Python\Python3 - Master\lab.xlsx')

def breakdown(x, y):
    string1 = x.split()
    variable1 = string1[0]
    dateVariable = variable1.split('-')
    variable2 = string1[1]
    dateVariable2 = variable2.split(':')
    hour = int(dateVariable2[0])
    minute = int(dateVariable2[1])
    seconds = int(dateVariable2[2])

    string1B = y.split()
    variable1B = string1B[0]
    dateVariableB = variable1B.split('-')
    variable2B = string1B[1]
    dateVariable2B = variable2B.split(':')
    hourB = int(dateVariable2B[0])
    minuteB = int(dateVariable2B[1])
    secondsB = int(dateVariable2B[2])

    if hourB > hour:
        sumMinutes = (hourB - hour)*60
        sumMinutes = sumMinutes + (minuteB - minute)
        print(sumMinutes)
    elif hourB == hour:
        sumMinutes = (minuteB - minute)
        print(sumMinutes)

我的假设是,您希望为数据中的每一行运行细分函数

for index, row in data.iterrows():
    data1 = str(row['Adjusted_Down'])
    data2 = str(row['Adjusted_Up'])
    breakdown(data1, data2)

我的假设是,您希望为数据中的每一行运行细分函数

for index, row in data.iterrows():
    data1 = str(row['Adjusted_Down'])
    data2 = str(row['Adjusted_Up'])
    breakdown(data1, data2)

您的问题不是很清楚,但是如果您想知道如何获得时间增量,那么我建议您在阅读电子表格时使用参数

data = pd.read_excel('E:\Savers\Python\Python3 - Master\lab.xlsx', parse_dates=['Adjusted_Down', 'Adjusted_Up'])

在这一点上,您可以简单地减去2列,然后转换为所需的单位

您的问题不是很清楚,但是如果您想知道如何获得时间增量,那么我建议您在阅读电子表格时使用参数

data = pd.read_excel('E:\Savers\Python\Python3 - Master\lab.xlsx', parse_dates=['Adjusted_Down', 'Adjusted_Up'])

在这一点上,您可以简单地减去2列,然后转换为所需的单位

首先将列加载为上面提到的datetime,这样加载文件要快得多

data = pd.read_excel('E:\Savers\Python\Python3 - Master\lab.xlsx', parse_dates=['Adjusted_Down', 'Adjusted_Up'])
#Then you can calculate the timedelta as easy as
data['timedelta-minutes'] = data.Adjusted_Up - data.Adjusted_Down

#convert to minutes
data['timedelta-minutes']  = data['timedelta-minutes'].dt.minute

首先像上面提到的@samuel那样将列加载为datetime,这样加载文件要快得多

data = pd.read_excel('E:\Savers\Python\Python3 - Master\lab.xlsx', parse_dates=['Adjusted_Down', 'Adjusted_Up'])
#Then you can calculate the timedelta as easy as
data['timedelta-minutes'] = data.Adjusted_Up - data.Adjusted_Down

#convert to minutes
data['timedelta-minutes']  = data['timedelta-minutes'].dt.minute

你的工作效率很低你的工作效率很低