小编Bre*_*ero的帖子

熊猫to_dict修改数字

我一直在玩一个能够吸收CSV数据的函数,并使用pandas to_dict函数作为实现将数据转换为JSON的最终目标之一.问题是它正在修改数字(例如1.6变为1.6000000000000001).我并不担心准确性的损失,但是因为用户会看到数字的变化,所以看起来......业余.

我知道这是在之前已经出现的东西,但它是2年前,并没有真正得到很好的回答,而且我有一个额外的复杂性 - 我希望转换为字典的数据框可以是任何组合的数据类型.因此,先前解决方案的问题是:

  1. 将所有数字转换为对象仅在您不需要使用数字时才有效 - 我希望选项能够计算重新引入加法十进制问题的总和和平均值
  2. 强制将数字舍入为x小数将降低准确性或根据用户提供的数据添加额外的不必要的0

所以,从高层次来看,我的问题是:

有没有更好的方法来确保数字不被修改,但保存在数值数据类型中?这是一个改变我首先导入CSV数据的方式的问题吗?当然有一个我忽略的简单解决方案?

这是一个简单的脚本,将重现此错误:

import pandas as pd

import sys
if sys.version_info[0] < 3:
    from StringIO import StringIO
else:
    from io import StringIO

CSV_Data = "Index,Column_1,Column_2,Column_3,Column_4,Column_5,Column_6,Column_7,Column_8\nindex_1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8\nindex_2,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8\nindex_3,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8\nindex_4,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8"

input_data = StringIO(CSV_Data)
df = pd.DataFrame.from_csv(path = input_data, header = 0, sep=',', index_col=0, encoding='utf-8')
print(df.to_dict(orient = 'records'))
Run Code Online (Sandbox Code Playgroud)

python csv pandas

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

Google Analytics API 服务对象 - 无管理属性

我正在尝试设置一个使用 Google Analytics API 的应用程序。我的所有授权步骤都正常工作,并且可以按预期提取所有数据。然而,目前它正在工作,因为我已将自己的视图 ID 硬编码到 API 的查询中。例如:

response = analytics.reports().batchGet(
    body={
        "reportRequests":
            [
                {
                    "viewId": "ga:12345678",
                    ...
Run Code Online (Sandbox Code Playgroud)

据我了解,我需要做的是在开始查询数据之前,使用服务对象首先获取视图 ID(或视图 ID 列表),然后在数据查询中使用它。我一直试图这样做,但惨遭失败。基本上,我有以下内容(只是为了获取帐户列表的第一步):

credentials = client.OAuth2Credentials.from_json(session['credentials'])
http = credentials.authorize(httplib2.Http())
analytics = build('analytics', 'v4', http=http) #create the service object
data = analytics.management().accounts().list().execute()
Run Code Online (Sandbox Code Playgroud)

我收到的错误是“资源”对象没有属性“管理”。我在这里缺少什么?

google-analytics oauth-2.0 python-3.x

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

标签 统计

csv ×1

google-analytics ×1

oauth-2.0 ×1

pandas ×1

python ×1

python-3.x ×1