如何解决运行binance api的问题
我想从 binance 获取 klines 数据并将其制作在 excel 上。但有错误发生。 这是我的代码
import pandas as pd
from binance.client import Client
api_key = 'my api key'
api_secret = 'my api key'
client = Client(api_key,api_secret)
klines = client.get_historical_klines('BTCUSDT',Client.KLINE_INTERVAL_1MINUTE,'28 MAY,2021')
whole_df = pd.DataFrame(klines)
whole_df.columns = ['Open_time','open','high','low','close','volume','Close_time','Quote asset volume','number of Trades','Taker buy base asset volume','Taker buy quote asset volume','Ignore']
whole_df = whole_df.drop_duplicates(subset=['Open_time'],keep=False)
whole_df = whole_df.convert_objects(convert_numeric=True)
whole_df.to_csv('binance_BTCUSDT_data.csv',encoding='utf-8')
exit()
and the error is
File "C:/Users/y/PycharmProjects/untitled/test.py",line 13,in <module>
whole_df = whole_df.convert_objects(convert_numeric=True)
File "C:\Users\y\PycharmProjects\untitled\venv\lib\site-packages\pandas\core\generic.py",line 5465,in __getattr__
return object.__getattribute__(self,name)AttributeError: 'DataFrame' object has no attribute 'convert_objects'
解决方法
pandas.DataFrame.convert_objects
是 deprecated,因为 pandas v.0.21.0。
尝试改用 pandas.to_numeric
。例如:
设置:
import pandas as pd
data = {
'A': ['1','2.01',3],'B': ['1',}
df = pd.DataFrame(data)
df.info()
控制台:
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null object
1 B 3 non-null object
dtypes: object(2)
memory usage: 176.0+ bytes
series_numeric = pd.to_numeric(df['A'],downcast='float')
print(series_numeric)
输出:
0 1.00
1 2.01
2 3.00
Name: A,dtype: float32
关于您的币安问题:我认为没有必要将 kine 数据转换为 float
或 numeric
。它应该已经在 dtype='float'
中。如果您不确定,请在您的示例中尝试 whole_df.info()
并检查 dtype。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。