如何基于熊猫中两列的时差创建新列?

挑剔

我有一个带有Time_x和Time_y的数据框,格式为:

# 2015-10-01 23:59:59.997
%Y-%m-%d %H:%M:%S.%f

我不能只是:

df['TimeDiff'] = datetime.strptime(df['Time_x'], '%Y-%m-%d %H:%M:%S.%f') - \
                 datetime.strptime(df['Time_y'], '%Y-%m-%d %H:%M:%S.%f')

我不能这样做以退还差额:

# Defining a function to call with Pandas to apply()
def time_difference(a):
    Time_x, Time_y = a
    c = datetime.strptime(Time_x, '%Y-%m-%d %H:%M:%S.%f') - datetime.strptime(Time_y, '%Y-%m-%d %H:%M:%S.%f')

    if c.days < 1:
        if c.minute <= 15:
            return c.minute
        else:
            return c.days
    else:
        None

# Creating a new column using my function.
# Error: “Too many values to unpack” Exception
df['TimeDiff'] = df[['Time_x', 'Time_y']].apply(time_difference)

那么,我该如何做呢?

法比奥·拉曼纳(Fabio Lamanna)

IIUC,您正在从csv文件读取数据,如下所示:

time_x,time_y
2015-10-01 23:59:59.997,2015-10-01 23:58:59.997
2015-10-01 23:57:59.997,2015-10-01 23:59:59.997

我将阅读并解析日期:

df = pd.read_csv('yourfile.csv', parse_dates=['time_x','time_y'])

因此您以后可以申请:

df['TimeDiff'] = (df['time_x'] - df['time_y']).dt.seconds

返回:

                   time_x                  time_y  TimeDiff
0 2015-10-01 23:59:59.997 2015-10-01 23:58:59.997        60
1 2015-10-01 23:57:59.997 2015-10-01 23:59:59.997     86280

这样,您可以指定所需的时间单位(dt.hourdt.minute等等)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何基于两列中的值创建新变量

来自分类Dev

熊猫在两列之间的时差

来自分类Dev

如何基于在熊猫数据框中具有NaN的现有列创建新列?

来自分类Dev

Power BI:基于两列在“转换”中创建新列

来自分类Dev

基于数据框中的两列创建新列

来自分类Dev

基于系列条件创建新的熊猫列

来自分类Dev

如何基于两个不同数据框中的匹配值创建新列?

来自分类Dev

如何基于现有列在 Python 中创建新列

来自分类Dev

如何基于熊猫中的不同列创建关联?

来自分类Dev

从熊猫列列表中创建新列

来自分类Dev

如何将我的熊猫列分组以映射并基于地图值创建新列

来自分类Dev

如何基于R中两列的值创建虚拟变量?

来自分类Dev

如何基于R中的条件创建新列

来自分类Dev

如何基于R中的多个条件创建新列?

来自分类Dev

如何基于缺失值在R中创建新列

来自分类Dev

如何基于R中的条件创建新列

来自分类Dev

如何在熊猫数据框中创建新列

来自分类Dev

如何在两个不同列表中包含的基于数据框的值中创建新列?

来自分类Dev

如何遍历两个熊猫列并创建一个新列

来自分类Dev

熊猫根据其他两列的划分创建新列

来自分类Dev

熊猫从两列之一中选择首选值以创建新列

来自分类Dev

给定两列的熊猫相同,在行中查找相似的元素以创建新列

来自分类Dev

使用熊猫基于组内排名创建新列

来自分类Dev

如何基于特定间隔创建新列

来自分类Dev

如何阻止熊猫创建新列?

来自分类Dev

为熊猫中的两列创建标签

来自分类Dev

为熊猫中的两列创建标签

来自分类Dev

通过遍历字典列表并基于熊猫中的特定日期条件来创建新列

来自分类Dev

在熊猫中创建一个基于频率的类别的新列

Related 相关文章

热门标签

归档