小编Sla*_*ast的帖子

pandas 中的 Concat 2 列 - AttributeError:“DataFrame”对象没有属性“concat”

我正在尝试连接 pandas 中的两列。代码 :

import pandas as pd
import numpy as np
from statsmodels import api as sm
import pandas_datareader.data as web
import datetime

start = datetime.datetime(2015,2,12)
end = datetime.datetime.today()
df = web.get_data_yahoo(['F', '^GSPC'], start, end)

df1 = df.concat(columns=[F['Close'], gspc['Close']], axis=1)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

AttributeError: 'DataFrame' object has no attribute 'concat'
Run Code Online (Sandbox Code Playgroud)

python concatenation dataframe python-3.x pandas

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

如何将消息作为``code````发送到电报

将 Prettytable 的输出发送到 Telegram

这个问题是先前问题的后续问题。我的代码是这样的:

import telegram
from prettytable import PrettyTable

def send_msg(text):
    token = "*******:**************"
    chat_id = "***********"
    bot = telegram.Bot(token=token)
    
    bot.sendMessage(chat_id=chat_id, text=text)
        
myTable = PrettyTable(["Student Name", "Class", "Section", "Percentage"])
  
myTable.add_row(["Leanord", "X", "B", "91.2 %"])
myTable.add_row(["Penny", "X", "C", "63.5 %"])
myTable.add_row(["Howard", "X", "A", "90.23 %"])
myTable.add_row(["Bernadette", "X", "D", "92.7 %"])
myTable.add_row(["Sheldon", "X", "A", "98.2 %"])
myTable.add_row(["Raj", "X", "B", "88.1 %"])
myTable.add_row(["Amy", "X", "B", "95.0 %"])
table_txt = myTable.get_string()
with open('output.txt','w') as file:
    file.write(table_txt)
new_list = []
with open("output.txt", 'r', …
Run Code Online (Sandbox Code Playgroud)

python telegram python-telegram-bot

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

ImportError:无法从“telegram”导入名称“ParseMode”

我正在尝试创建一个电报机器人。我试图执行的代码是:

from telegram import ParseMode
Run Code Online (Sandbox Code Playgroud)

但它抛出了这个错误:

ImportError: cannot import name 'ParseMode' from 'telegram'
(C:\ProgramData\Anaconda3\lib\site-packages\telegram\__init__.py)
Run Code Online (Sandbox Code Playgroud)

您能告诉我如何修复这个错误吗?

python python-3.x telegram python-telegram-bot telegram-bot

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

在熊猫中将月份从数字重命名为名称

我有以下数据框:

High    Low Open    Close   Volume  Adj Close   year    pct_day
month   day                             
1   1   NaN NaN NaN NaN NaN NaN 2010.0  0.000000
2   7869.853149 7718.482498 7779.655014 7818.089966 7.471689e+07    7818.089966 2010.0  0.007826
3   7839.965652 7719.758224 7775.396255 7777.940002 8.185879e+07    7777.940002 2010.0  0.002582
4   7747.175260 7624.540007 7691.152083 7686.288672 1.018877e+08    7686.288672 2010.0  -0.000744
5   7348.487095 7236.742135 7317.313616 7287.688546 1.035424e+08    7287.688546 2010.0  -0.002499
... ... ... ... ... ... ... ... ... ...
12  27  7849.846680 7760.222526 7810.902051 7798.639258 4.678145e+07    7798.639258 2009.5  -0.000833
28  7746.209996 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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

在图表上标注日期

我正在尝试向下添加一条直线,该直线将在该线上垂直打印日期。我在下面添加了我如何尝试完成此操作的图片。我还包含了我试图注释的代码。

我的代码:

import pandas as pd
from pandas import datetime
from pandas import DataFrame as df
import matplotlib
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime
import numpy as np

start = datetime.date(2015,1,1)
end = datetime.date.today()
start1 = datetime.date(2019,1,1)

data = web.DataReader("^GSPC", 'yahoo',start, end)
data1 = web.DataReader("^GSPC", 'yahoo', start1, end)

data.index = pd.to_datetime(data.index, format ='%Y-%m-%d')
data1.index = pd.to_datetime(data1.index, format ='%Y-%m-%d')

full_dates = pd.date_range(start, end)
data = data.reindex(full_dates)
data1 = data1.reindex(full_dates)

data.set_index('month',append=True,inplace=True)
data1.set_index('month',append=True,inplace=True)
data.set_index('week',append=True,inplace=True)
data1.set_index('week',append=True,inplace=True)
data.set_index('day',append=True,inplace=True)
data1.set_index('day',append=True,inplace=True) …
Run Code Online (Sandbox Code Playgroud)

python datetime annotations

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

如何让电报机器人将消息发布到我的频道而不是它自己的频道

我有一个电报机器人,它使用此代码向某个机器人发布消息。

import telegram
from telegram import ParseMode
def send_msg(text):
    token = '1*****:AAF*************esns'
    chat_id = "34*****4"
    bot = telegram.Bot(token=token)
    
    bot.sendMessage(chat_id=chat_id, text=text, parse_mode=ParseMode.MARKDOWN_V2)
Run Code Online (Sandbox Code Playgroud)

我想知道的是,电报机器人是否可以向我的频道发送消息,我已将其设置为管理员,而不是其自己的名为 somebot 的频道。

telegram python-telegram-bot telegram-bot

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

如何重新采样多索引数据帧内的数据

我有以下数据框:在此处输入图片说明

我需要重新采样数据来计算每周的 pct_change()。我怎样才能获得每周的变化?

有点像,data['pct_week'] = data['Adj Close'].resample('W').ffill().pct_change()但数据需要分组data.groupby(['month', 'week'])

这样每个月都会产生 4 个每周变化的值。然后我可以绘制

我所做的是df['pct_week'] = data['Adj Close'].groupby(['week', 'day']).pct_change()但我收到了这个错误TypeError: 'type' object does not support item assignment

datetime resampling dataframe python-3.x pandas

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

如何使用 forloop 并排绘制图表

我有以下代码:

import pandas as pd
from pandas import datetime
from pandas import DataFrame as df
import matplotlib
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime
import numpy as np

stocks = 'GE','F' #<-- In this case there are just 2 symbols but this could be more 
start = datetime.date(2000,1,1)
end = datetime.date.today()

data = web.DataReader(stock, 'yahoo',start, end)

for stock in stocks:
    data.plot(y='Close')
plt.subplot(1,1,2) #<-- Trouble here
Run Code Online (Sandbox Code Playgroud)

这是我的问题。如何在 forloop 中并排绘制所有符号?

matplotlib python-3.x pandas

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

如何有条件地删除熊猫中的行

我有以下数据框:

        True_False  cum_val
Date        
2018-01-02  False   NaN
2018-01-03  False   0.006399
2018-01-04  False   0.010427
2018-01-05  False   0.017461
2018-01-08  False   0.019124
2018-01-09  False   0.020426
2018-01-10  False   0.019314
2018-01-11  False   0.026348
2018-01-12  False   0.033098
2018-01-16  False   0.029573
2018-01-17  False   0.038988
2018-01-18  False   0.037372
2018-01-19  False   0.041757
2018-01-22  False   0.049824
2018-01-23  False   0.051998
2018-01-24  False   0.051438
2018-01-25  False   0.052041
2018-01-26  False   0.063882
2018-01-29  False   0.057150
2018-01-30  True    -0.010899
2018-01-31  True    -0.010410
2018-02-01  True    -0.011058
2018-02-02  True    -0.032266
2018-02-05  True    -0.073246
2018-02-06  True    -0.055805
2018-02-07 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

在熊猫中寻找局部最小值

我有以下数据:

Date
2020-07-20   -98.109956
2020-07-21   -94.408946
2020-07-22   -76.788330
2020-07-23   -71.094908
2020-07-24   -92.262792
2020-07-27   -97.932848
2020-07-28   -90.236719
2020-07-29   -96.301774
2020-07-30   -94.293501
2020-07-31   -98.110483
2020-08-03   -99.121514
2020-08-04   -73.715980
2020-08-05   -67.069465
2020-08-06   -57.401802
2020-08-07   -53.323235
2020-08-10   -50.000000
2020-08-11   -24.169180
2020-08-12   -10.286685
2020-08-13    -6.745360
2020-08-14   -19.178088
2020-08-17    -2.475911
2020-08-18   -11.586069
2020-08-19    -4.896705
2020-08-20   -10.435387
2020-08-21   -20.938373
2020-08-24    -8.269516
2020-08-25   -11.557382
2020-08-26    -2.938893
2020-08-27   -10.296292
2020-08-28    -7.050787
2020-08-31   -24.016059
2020-09-01   -27.694853
2020-09-02    -4.538226
2020-09-03    -8.166541
2020-09-04    -8.243151
2020-09-07    -3.356906
2020-09-08   -32.970033
2020-09-09   -11.716626
2020-09-10   -16.220030 …
Run Code Online (Sandbox Code Playgroud)

python min pandas

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