小编DYZ*_*DYZ的帖子

Python - TypeError:'int64'类型的对象不是JSON可序列化的

我有一个Dataframe存储商店名称和每日销售数量.我试图使用下面的Python脚本将其插入Salesforce.但是我收到了一个错误

TypeError:'int64'类型的对象不是JSON可序列化的

下面给出的是Dataframe的视图

Storename,Count
Store A,10
Store B, 12
Store C, 5
Run Code Online (Sandbox Code Playgroud)

我使用以下代码将其插入Salesforce

update_list = []
for i in range((len(store))):
    update_data = {
               'name' :    store['entity_name'].iloc[i],
                'count__c': store['count'].iloc[i] }

    update_list.append(update_data)

sf_data_cursor = sf_datapull.salesforce_login()
sf_data_cursor.bulk.Account.update(update_list)
Run Code Online (Sandbox Code Playgroud)

获取上面最后一行执行的错误.谁能协助解决这个问题.谢谢..

python salesforce pandas

19
推荐指数
8
解决办法
3万
查看次数

"AttributeError:'module'对象在使用Python.h时没有属性'argv'"

搞乱Python.h时我遇到了这个错误:

AttributeError: 'module' object has no attribute 'argv'
Run Code Online (Sandbox Code Playgroud)

C++代码:

#include "stdafx.h"  
#include "C:/Python27/include/Python.h"  
#include <iostream>  

using namespace std;  


int main()  
{
    Py_Initialize();
    PyRun_SimpleString("import sys\nprint sys.argv[0]");
}
Run Code Online (Sandbox Code Playgroud)

在Python中是:

import sys
print sys.argv[0]
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

c++ python python-embedding python-c-api

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

如何在pandas dataframe中将timestamp转换为datetime.date?

我需要在日期上合并2个pandas数据帧,但它们目前有不同的日期类型.1是时间戳(从excel导入),另一个是datetime.date.

有什么建议?

我已经尝试pd.to_datetime().date但这仅适用于单个项目(例如df.ix[0,0]),它不会让我应用于整个系列(例如df['mydates'])或数据帧.

python datetime date pandas

9
推荐指数
5
解决办法
3万
查看次数

分散绘制带有明确标记的行/列的pandas DataFrame

我想生成一个pandas DataFrame的散点图,其中包含分类行和列标签matplotlib.示例DataFrame如下所示:

import pandas as pd
df = pd.DataFrame({"a": [1,2], "b": [3,4]}, index=["c","d"])
#   a  b
#c  1  2
#d  3  4
Run Code Online (Sandbox Code Playgroud)

标记大小是相应DataFrame值的函数.到目前为止,我提出了一个尴尬的解决方案,基本上枚举行和列,绘制数据,然后重建标签:

flat = df.reset_index(drop=True).T.reset_index(drop=True).T.stack().reset_index()
#   level_0  level_1  0
#0        0        0  1
#1        0        1  2
#2        1        0  3
#3        1        1  4

flat.plot(kind='scatter', x='level_0', y='level_1', s=100*flat[0])
plt.xticks(range(df.shape[1]), df.columns)
plt.yticks(range(df.shape[0]), df.index)
plt.show()
Run Code Online (Sandbox Code Playgroud)

哪种作品. 哪种作品

现在,问题:是否有更直观,更集成的方法来生成此散点图,理想情况下不分割数据和元数据?

python matplotlib scatter-plot dataframe pandas

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

Pandas:将函数应用于每对列

函数f(x,y)接受两个 Pandas 系列并返回一个浮点数。我想应用f到 DataFrame 中的每一对列D并构造另一个E返回值的DataFrame ,所以这f(D[i],D[j])i第 th 行和j第 th 列的值。直接的解决方案是在所有列对上运行嵌套循环:

E = pd.DataFrame([[f(D[i], D[j]) for i in D] for j in D],
                 columns=D.columns, index=D.columns)
Run Code Online (Sandbox Code Playgroud)

但是有没有更优雅的解决方案,可能不涉及显式循环?

注意这个问题不是愚弄的这个,尽管有相似的名称。

编辑一个玩具示例:

D = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=("a","b","c"))
def f(x,y): return x.dot(y)

E
#    a    b    c
#a  66   78   90
#b  78   93  108
#c  90  108  126
Run Code Online (Sandbox Code Playgroud)

python pandas

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

带有"lxml"解析器的Python BeautifulSoup将长字符串分解为字符

我注意到Python [3.6.5] BeautifulSoup [4.6.0]和"lxml"[4.2.1]解析器如何处理长bytes对象与长字符串之间存在奇怪的不一致.(显然,"long"是> 16,384 = 2**14个字符或字节.)

例如,我从麻省理工学院网站下载奥赛罗的文本,并以原始(字节)形式和解码为字符串后将其提供给BS.两个对象具有相同的长度,因为文档中没有多字节字符.

from bs4 import BeautifulSoup 
import urllib

url = "http://shakespeare.mit.edu/othello/full.html"
html_raw = urllib.request.urlopen(url).read()
html_str = urllib.request.urlopen(url).read().decode("iso-8859-1")

type(html_raw), len(html_raw)
#(<class 'bytes'>, 304769)
type(html_str), len(html_str)
#(<class 'str'>, 304769)
Run Code Online (Sandbox Code Playgroud)

产生的汤对于较短的字符串/字节是相同的,但对于较长的字符串/字节则不同.也就是说,由字符串生成的汤突然开始将单词作为单独的字符处理,而从字节生成的汤正确处理整个文件:

BeautifulSoup(html_raw[:16410], "lxml")
#... <i>Enter OTHELLO, IAGO, and Attendants with torches</i>
#</blockquote>
#<a></a></body></html>
BeautifulSoup(html_str[:16410], "lxml")
#... <i>Enter OTHELLO, IAGO, and Attendants with torch   e   s   /   i   &gt;   
#   /   b   l   o   c   k   q   u   o   t   e   &gt;      
#
#   A   </i></blockquote></body></html> …
Run Code Online (Sandbox Code Playgroud)

python decode beautifulsoup

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

无法解码Python Web请求

我正在尝试向我的交易账户发出网络请求.Python无法解码Web请求.使用代码200的Web请求成功.

这是下面的代码

import requests

headers = {
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-US,en;q=0.9',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
    'x-kite-version': '1.2.1',
    'accept': 'application/json, text/plain, */*',
    'referer': 'https://kite.zerodha.com/orders',
    'authority': 'kite.zerodha.com',
    'cookie': '__cfduid=db8fb54c76c53442fb672dee32ed58aeb1521962031; _ga=GA1.2.1516103745.1522000590; _gid=GA1.2.581693731.1522462921; kfsession=CfawFIZq2T6SghlCd8FZegqFjNIKCYuO; public_token=7FyfBbbxhiRRUso3425TViK2VmVszMCK; user_id=XE4670',
    'x-csrftoken': '7FyfBbbxhiRRUso3425TViK2VmVszMCK',
}

response = requests.get('https://kite.zerodha.com/api/orders', headers=headers)


x=str(response.content.decode("utf-8") )
Run Code Online (Sandbox Code Playgroud)

b"1X\x14\x00\xfe\xa7\x9b\xd3\xca\xbd9-\x12\x83\xbfULS1\x1d8\x9d\x0e\xd4\xcf\xbd\xb8\xd1\xbd4\xc0\x00\x13 〜\ X94}\XE4\X81\XA4\x90P\x1cfs\XCD\X1E\xaeG\x9b},米\ XBD \吨\ x84L1\XDE\xa8e\x8a\xf1h\x0e\X0C)\ X1A\X12\XFB\x06z\xec\x18\xe4r\xa1\x1c\x11\xe8\xbcO\xec\xe2 |\xa6\x90\xa9\xdf\xf2\xe1\xfa\xf3\x1e\x04\x0e\xa2\x8d\x0e\XC4\TW\XEB\xd9\XBA \n\xf1H'l\XEB>\X08\x85L\r\x0cY\XF8\x81D;!\ X92Ó\ XFD\XBD\xe3u> 3\X10\XE1\x8c;\XB8\x9e\xceA\XAE\x0exX\xc9\x19s\XEB\xe5r〜1\X98\xed0\XB8\XDC\XB4\X17:\ X14\x96xAn\xb9\XF0\XCE\XF2L \\ xa6G ?50\x9b\XF3\XC1 \\ X1F\X0F\x8fs\X1B /\X17\X1A\X0C [ySAX\X1D'\ XE7\XBB\NX\xacR〜\ XBB\x9f\xe0\x8c?的\ XC0\X8F\xe0\X97\XFF\XDE'\ xc7#\ X8F\X97\XAF \的Xaa%\ XF2\xf9\xfaC |\XCF\t\XF3\XEB …

python python-3.x python-requests brotli

7
推荐指数
3
解决办法
2389
查看次数

使用 numpy 索引数组索引 numpy 数组

我有一个 3D numpy 数组data和另一个pos索引数组(一个索引本身就是一个 numpy 数组,这使得后一个数组成为一个 2D 数组):

import numpy as np
data = np.arange(8).reshape(2, 2, -1)
#array([[[0, 1],
#    [2, 3]],
#
#  [[4, 5],
#    [6, 7]]])

pos = np.array([[1, 1, 0], [0, 1, 0], [1, 0, 0]])
#array([[1, 1, 0],
#       [0, 1, 0],
#       [1, 0, 0]])
Run Code Online (Sandbox Code Playgroud)

我想从data使用索引中选择和/或变异元素pos。我可以使用for循环或列表理解进行选择:

[data[tuple(i)] for i in pos]
#[6, 2, 4]
data[[i for i in pos.T]]
#array([6, 2, 4])
Run Code Online (Sandbox Code Playgroud)

但这似乎不是一种麻木的方式。是否有针对此问题的矢量化 numpy …

python arrays indexing numpy

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

Pandas 将行转换为列

我有一个 CSV,可以生成以下格式的数据框

--------------------------------------------------------------
|Date       | Fund | TradeGroup | LongShort | Alpha | Details|
--------------------------------------------------------------
|2018-05-22 |A     | TGG-A      | Long      | 3.99  | Misc   |
|2018-05-22 |A     | TGG-B      | Long      | 4.99  | Misc   |
|2018-05-22 |B     | TGG-A      | Long      | 5.99  | Misc   |
|2018-05-22 |B     | TGG-B      | Short     | 6.99  | Misc   |
|2018-05-22 |C     | TGG-A      | Long      | 1.99  | Misc   |
|2018-05-22 |C     | TGG-B      | Long      | 5.29  | Misc …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas pandas-groupby

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

如何在Python中从cursor.execute()读取所有数据?

我使用 PyMysql 连接到我的 MySQL 数据库。

cursor.execute(query)
data = cursor.fetchall()
for (id,clientid,timestamp) in cursor:
    print id,clientid,timestamp
Run Code Online (Sandbox Code Playgroud)

我想根据时间戳对数据进行排序;喜欢;

 sortedList = sorted(data, key=lambda x: x.timestamp, reverse=False)
Run Code Online (Sandbox Code Playgroud)

但游标返回行。如何返回整个数据,以便我可以根据任何参数对它们进行排序?

ps:这里的数据包含多行,例如; 1, '1170', 'AS0001', 1, '1', datetime.datetime(2018, 3, 15, 10, 56), Decimal('15185.7562'), Decimal('0.0000'), Decimal('19814.3181')

python pymysql mysql-connector-python

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