相关疑难解决方法(0)

几个月的熊猫时间

如何使用熊猫计算经过的月份?我写了以下内容,但这段代码并不优雅.你能告诉我一个更好的方法吗?

import pandas as pd

df = pd.DataFrame([pd.Timestamp('20161011'),
                   pd.Timestamp('20161101') ], columns=['date'])
df['today'] = pd.Timestamp('20161202')

df = df.assign(
    elapsed_months=(12 *
                    (df["today"].map(lambda x: x.year) -
                     df["date"].map(lambda x: x.year)) +
                    (df["today"].map(lambda x: x.month) -
                     df["date"].map(lambda x: x.month))))
# Out[34]: 
#         date      today  elapsed_months
# 0 2016-10-11 2016-12-02               2
# 1 2016-11-01 2016-12-02               1
Run Code Online (Sandbox Code Playgroud)

python pandas

16
推荐指数
4
解决办法
2万
查看次数

MonthEnd对象的结果为<11 * MonthEnds>,而不是数字

在我的熊猫数据框中,我想找出月份之间的日期差异。该函数将.dt.to_period('M')产生一个MonthEnd对象,<11 * MonthEnds>而不是月份号。

我尝试使用更改列类型,pd.to_numeric()并使用删除字母re.sub("[^0-9]", "", 'blablabla123bla')。两者都不对一个MonthEnd对象起作用。

df['duration_dataset'] = df['date_1'].dt.to_period('M') - df['date_2'].dt.to_period('M')
Run Code Online (Sandbox Code Playgroud)

我预期为11,但输出为<11 * MonthEnds>

这是最小数据帧

d = {'date_1': ['2018-03-31','2018-09-30'], 'date_2': ['2017-12-31','2017-12-31']}
df = pd.DataFrame(data=d)

df['date_1'] = pd.to_datetime(df['date_1'], format='%Y-%m-%d')
df['date_2'] = pd.to_datetime(df['date_2'], format='%Y-%m-%d')

df['duration_dataset'] = df['date_1'].dt.to_period('M') - df['date_2'].dt.to_period('M')

df
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

2
推荐指数
2
解决办法
808
查看次数

如何在Python中确定两个日期之间的月份数?

我有两列是 datetime64[ns] 对象。我正在尝试确定它们之间的月数。

这些列是:

city_clean['last_trip_date']
city_clean['signup_date']
Run Code Online (Sandbox Code Playgroud)

格式为 YYYY-MM-DD

我试过

from dateutil.relativedelta import relativedelta

city_clean['months_active'] = relativedelta(city_clean['signup_date'], city_clean['last_trip_date'])
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)

有谁知道什么可能导致这个问题?我觉得这是计算月份数最准确的方法。

python datetime pandas

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×3

python ×3

dataframe ×1

datetime ×1