小编top*_*ntz的帖子

熊猫读html表

import pandas as pd
import pandas_datareader.data as web

coins = pd.read_html('https://coinmarketcap.com/')

for name in coins[0][1][1:]:
    print(name)
Run Code Online (Sandbox Code Playgroud)

结果在下面的错误消息中.当我打印硬币时,我得到了完整的表格,但是当我尝试获取特定信息时,它会给我这个错误消息.我知道这种格式是有效的,因为我已经从我学习的其他练习中完全复制了它,并且刚刚更改了网站.非常感谢.

C:\Users\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Desktop/python_work/crypto/crypto_corr.py
Traceback (most recent call last):
  File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\indexes\base.py", line 2525, in get_loc
    return self._engine.get_loc(key)
  File "pandas\_libs\index.pyx", line 117, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 139, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1265, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1273, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Desktop/python_work/crypto/crypto_corr.py", line 6, in <module>
    for name …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

用 pandas 计算前滚平均值

我需要计算数据框中的一些前滚平均值,但真的不知道从哪里开始。

我知道如果我想提前 10 天选择一个单元格,我会这样做df.shift(-10),但我想要做的是计算提前 10 到 15 天之间的平均值。

所以我的想法是df.rolling(-10,-15).mean(),如果我试图计算时间上的移动平均线 df.rolling(15, 10).mean() 会完美地工作,我确实考虑过像这样计算平均值,然后以某种方式转移数据。

任何帮助都会很棒

非常感谢

python moving-average pandas

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

从熊猫的相关矩阵中返回最高和最低的相关性

我有一堆股票数据,我正在尝试构建一个数据框,从相关矩阵中获取前两个和底部的股票,以及它们的实际相关性。

假设矩阵corr如下所示:

  A    B    C    D    E
A 1.00 0.65 0.31 0.94 0.55
B 0.87 1.00 0.96 0.67 0.41
C 0.95 0.88 1.00 0.72 0.69
D 0.64 0.84 0.99 1.00 0.78
E 0.71 0.62 0.89 0.32 1.00
Run Code Online (Sandbox Code Playgroud)

我想要做的是能够返回股票 A、B、C、D 和 E 的最佳两只和最不相关的股票及其相关性,同时降低每只股票与自身之间明显的 1.00 相关性。

生成的数据框,或任何最容易显示的数据框如下所示:

Stock 1st 1st_Val 2nd 2nd_Val Last Last_Val
A     D   0.94    B   0.65    C    0.31
B     C   0.96    A   0.87    E    0.41
C     A   0.95    B   0.88    E    0.69
D     C   0.99    B   0.84 …
Run Code Online (Sandbox Code Playgroud)

python correlation pandas

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

精心给出错误消息“ TypeError:__init __()得到了意外的关键字参数'encoding'”-Python

我昨天才碰到Plotly,我试图找到一种很好的方式来生成表格,类似于在Matplotlib中生成图表。

最初,我尝试使用自己的数据,并始终在标题中得到错误消息。因此,我已经从可打印的网站复制并粘贴了准确的代码,仍然出现此错误。有人遇到过吗?有没有人有办法解决吗。我觉得这不是我的代码的简单问题。

import plotly.plotly as py
import plotly.graph_objs as go
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv')

trace = go.Table(
    header=dict(values=list(df.columns),
                fill = dict(color='#C2D4FF'),
                align = ['left'] * 5),
    cells=dict(values=[df.Rank, df.State, df.Postal, df.Population],
               fill = dict(color='#F5F8FF'),
               align = ['left'] * 5))

data = [trace]
py.iplot(data, filename = 'pandas_table')
Run Code Online (Sandbox Code Playgroud)

这是我使用的代码,导致以下错误:

TypeError: __init__() got an unexpected keyword argument 'encoding'

如果有人可以替代plotly,那么在这里我可以制作美观的表,这也将非常有帮助。

非常感谢

python pandas plotly plotly-python

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

拆分列表中的字符串以查找和替换python中的元素

我有一个货币对列表,比方说,它看起来像这样:

cp = ['EURUSD', 'CHFUSD', 'JPYUSD', 'CADUSD']
Run Code Online (Sandbox Code Playgroud)

我要做的是遍历此列表,将USD更改为GBP以生成将显示的新列表:

new_cp = ['EURGBP', 'CHFGBP', 'JPYGBP', 'CADGBP']
Run Code Online (Sandbox Code Playgroud)

我假设我会这样做的方法是遍历每一对,将字符串拆分成一个列表,删除最后3个元素,然后将'G','B','P'追加为新的最后3个元素,最后将其返回到一个字符串,并将其添加到新列表'new_cp'.

我开始的代码是:

for pair in cp:
   split_pair = pair.split()
Run Code Online (Sandbox Code Playgroud)

但是,所有这些导致的结果是:

['EURUSD']
['CHFUSD']
Run Code Online (Sandbox Code Playgroud)

等等

所以它只是拆分列表,而不是拆分列表中每个货币对的字符串.

我知道这是相对初学的东西,但我真的很难过.我只是不明白为什么这不起作用.

如果你可以帮助解决我在那里做错的事情,或者甚至建议一种更有效的方式来实现我想要做的事情,那将非常感激.

python split replace list

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

Pandas 1.5.3 中的SettingWithCopyWarning 不起作用

我知道有一些关于此的线程,但我在实际SettingWithCopyWarning本身上遇到了麻烦,所以它们都没有任何帮助。

我最近对我的机器进行了核攻击,并且正在重新安装 Pycharm 和所有库等。在运行我的一些脚本时,我不断收到与抑制SettingWithCopyWarning.

import warnings
from pandas.core.common import SettingWithCopyWarning
warnings.simplefilter(action="ignore", category=SettingWithCopyWarning)
Run Code Online (Sandbox Code Playgroud)

这些是我正在运行的行,它们会导致以下错误消息:

ImportError: cannot import name 'SettingWithCopyWarning' from 'pandas.core.common'
Run Code Online (Sandbox Code Playgroud)

我查看了该common.py文件,没有看到任何对SettingWithCopyWarning. 我使用的是 Python 3.8 和 Pandas 版本 1.5.3。

干杯

python warnings pandas pandas-settingwithcopy-warning

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