小编Gra*_*ich的帖子

查找pandas df中timedelta对象的均值和标准差

我想从下面显示的两列中计算一个meanstandard deviation一个timedelta银行dataframe.当我运行代码(也显示如下)时,我得到以下错误:

pandas.core.base.DataError: No numeric types to aggregate
Run Code Online (Sandbox Code Playgroud)

我的数据帧:

   bank                          diff
   Bank of Japan                 0 days 00:00:57.416000
   Reserve Bank of Australia     0 days 00:00:21.452000
   Reserve Bank of New Zealand  55 days 12:39:32.269000
   U.S. Federal Reserve          8 days 13:27:11.387000
Run Code Online (Sandbox Code Playgroud)

我的代码:

means = dropped.groupby('bank').mean()
std = dropped.groupby('bank').std()
Run Code Online (Sandbox Code Playgroud)

python datetime mean timedelta pandas

13
推荐指数
3
解决办法
6842
查看次数

pandas数据帧中的日期时间不会相互减去

我试图找到日期时间格式的pandas数据帧中两列之间的时间差异.

下面是我的数据框中的一些数据和我一直在使用的代码.我已经三次检查这两个列dtypes是datetime64.

我的数据:

date_updated                  date_scored 
2016-03-30 08:00:00.000       2016-03-30 08:00:57.416  
2016-04-07 23:50:00.000       2016-04-07 23:50:12.036 
Run Code Online (Sandbox Code Playgroud)

我的代码:

data['date_updated'] = pd.to_datetime(data['date_updated'], 
format='%Y-%m-%d %H:%M:%S')
data['date_scored'] = pd.to_datetime(data['date_scored'], 
format='%Y-%m-%d %H:%M:%S')
data['Diff'] =  data['date_updated'] - data['date_scored']
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息:

TypeError: data type "datetime" not understood
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,谢谢!

我的解决方案:

for i in raw_data[:10]:
scored = i.date_scored
scored_date =  pd.to_datetime(scored, format='%Y-%m-%d %H:%M:%S')
if type(scored_date) == "NoneType":
    pass
elif scored_date.year >= 2016:
    extracted = i.date_extracted
    extracted =  pd.to_datetime(extracted, format='%Y-%m-%d %H:%M:%S')
    bank = i.bank.name
    diff = scored - extracted
    datum = [str(bank), str(extracted), str(scored), …
Run Code Online (Sandbox Code Playgroud)

python datetime subtraction pandas

9
推荐指数
1
解决办法
9918
查看次数

将字符串转回日期时间时间增量

我的 Pandas 数据框中的一列代表我用 datetime 计算的时间增量,然后导出到 csv 并读回 Pandas 数据框中。现在该列的 dtype 是 object 而我希望它是 timedelta 这样我就可以在数据帧上执行 groupby 函数。下面是字符串的样子。谢谢!

  0 days 00:00:57.416000
  0 days 00:00:12.036000
  0 days 16:46:23.127000  
 49 days 00:09:30.813000  
 50 days 00:39:31.306000  
 55 days 12:39:32.269000
-1 days +22:03:05.256000
Run Code Online (Sandbox Code Playgroud)

更新,我最好尝试编写一个 for 循环来迭代我的 Pandas 数据帧中的特定列:

def delta(i):
    days, timestamp = i.split(" days ")
    timestamp = timestamp[:len(timestamp)-7]
    t = datetime.datetime.strptime(timestamp,"%H:%M:%S") + 
    datetime.timedelta(days=int(days))
    delta = datetime.timedelta(days=t.day, hours=t.hour, 
    minutes=t.minute, seconds=t.second)
    delta.total_seconds()

data['diff'].map(delta)
Run Code Online (Sandbox Code Playgroud)

python datetime timedelta pandas

5
推荐指数
1
解决办法
2991
查看次数

使用DBeaver查询PostgreSQL数据库并得到以下错误:SQL错误[0A000]:错误:跨数据库引用未实现

我对SQL,PostgreSQL和DBeaver完全陌生。尝试简单地从数据库查询表时:

SELECT * FROM operation.fs.ten_q_score;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

SQL Error [0A000]: ERROR: cross-database references are not implemented: "operation.fs.ten_q_score"¶  Position: 15
Run Code Online (Sandbox Code Playgroud)

我已经看过dblink,但是甚至不了解如何安装dblink这样的东西(即使在查看了实际的文档之后)。

任何指导深表感谢!

postgresql dbeaver

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

更改 esttab 中的摘要统计术语

我正在使用以下代码:

estpost summarize gdpgrowth, listwise
esttab, cells("mean sd  min max") nomtitle number
Run Code Online (Sandbox Code Playgroud)

gdpgrowth这个想法是使用创建变量的汇总统计表esttab

我得到这个输出:

在此输入图像描述

(1)我喜欢这方面的一切,除了我想从平均名称中删除 the ,sd转为standard deviationmin转为minimummax转入maximum

我还想将每个数字四舍五入到小数点后第二位并更改Nsample size.

statistics summary stata

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