Как суммировать значение на каждом шаге столбца CSV

#python #iteration

#python #итерация

Вопрос:

итак, я использую этот код, чтобы получить частоту искомых слов в Google Trends:

 import pandas as pd
from pytrends.request import TrendReq
pytrend = TrendReq(hl='en-US', tz=360)
keywords = ['Python', 'R']
pytrend.build_payload(
     kw_list=keywords,
     cat=0,
     timeframe='today 3-m',
     geo='TW',
     gprop='')
data = pytrend.interest_over_time()
data= data.drop(labels=['isPartial'],axis='columns')
image = data.plot(title = 'Python V.S. R in last 3 months on Google Trends ')
fig = image.get_figure()
fig.savefig('figure.png')
data.to_csv('Py_VS_R.csv', encoding='utf_8_sig')
 

в результате получается такая таблица, показывающая частоту каждого дня:

             Python       R  
date
2017-10-23      3       1      
2017-10-24      1       2
2017-10-25      5       1      
2017-10-26      3       4      
2017-10-27      1       5      
2017-10-28      2       1
 

но я хочу, чтобы каждое значение столбца суммировалось друг с другом, например:

        Python       R  
date
2017-10-23      3       1      
2017-10-24      4       3
2017-10-25      9       4      
2017-10-26      12      8      
2017-10-27      13      13      
2017-10-28      15      14
 

так что последнее значение строки столбца будет общим числом.
Каков наилучший способ сделать это? Могу ли я достичь этого с помощью Py Trends?
Или мне нужно написать отдельный код?
Заранее спасибо!

Ответ №1:

Предполагая, что остальная часть кода верна, вы можете получить совокупную сумму, просто используя метод cumsum() pandas в качестве data.cumsum()

 import pandas as pd
from pytrends.request import TrendReq
pytrend = TrendReq(hl='en-US', tz=360)
keywords = ['Python', 'R']
pytrend.build_payload(
     kw_list=keywords,
     cat=0,
     timeframe='today 3-m',
     geo='TW',
     gprop='')
data = pytrend.interest_over_time()
data= data.drop(labels=['isPartial'],axis='columns')
data = data.cumsum()
image = data.plot(title = 'Python V.S. R in last 3 months on Google Trends ')
fig = image.get_figure()
fig.savefig('figure.png')
data.to_csv('Py_VS_R.csv', encoding='utf_8_sig')
 

Комментарии:

1. ты мужик, большое спасибо! 🙂 работал как задумано