小编Say*_*uda的帖子

python pandas合并多个csv文件

我有大约600个csv文件数据集,它们都有相同的列名['DateTime','Actual','Consensus','Previous','Revised'],所有经济指标和所有时间序列数据集.

目的是在一个csv文件中将它们合并在一起.

使用'DateTime'作为索引.

我希望这个文件被索引的方式是时间线方式,这意味着让我们说第一个csv中的第一个事件日期为12/18/2017 10:00:00,第一个事件发生在第二个csv中,日期为12/29/2017 09:00:00和第三次csv的第一次活动日期为12/20/2017 09:00:00.

因此,我想将它们编入索引后面的第一个和更新的一个,等等,尽管源csv最初来自.

我试图合并其中只有3个作为实验,而问题是'DateTime',因为它将这些中的3个打印在一起就像这样('12/18/2017 2017 10:00:00','12/29/2017 2017 09 :00:00','12/20/2017 09:00:00')以下是代码:

import pandas as pd


df1 = pd.read_csv("E:\Business\Economic Indicators\Consumer Price Index - Core (YoY) - European Monetary Union.csv")
df2 = pd.read_csv("E:\Business\Economic Indicators\Private loans (YoY) - European Monetary Union.csv")
df3 = pd.read_csv("E:\Business\Economic Indicators\Current Account s.a - European Monetary Union.csv")

df = pd.concat([df1, df2, df3], axis=1, join='inner')
df.set_index('DateTime', inplace=True)

print(df.head())
df.to_csv('df.csv')
Run Code Online (Sandbox Code Playgroud)

python csv datetime pandas

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

python pandas不能用重复的键组装

这段代码的目的是抓取一堆数据表,把它们变成pandas数据框,删除一些不需要的列并修复日期。

每个数据框有 2 列,第一个在每个数据框中称为(“发布日期”),另一列为每个数据框有不同的名称。

然后将这些表串联成一个统一的数据框,以'Release Date'列为索引,所以同时发生的事件必须在同一行。

当我尝试这段代码时:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
import pandas as pd


class DataEngine:
    def __init__(self):
        self.urls = open(r"C:\Users\Sayed\Desktop\script\sample.txt").readlines()
        self.driver = webdriver.Chrome(r"D:\Projects\Tutorial\Driver\chromedriver.exe")
        self.wait = WebDriverWait(self.driver, 10)

    def title(self):
        names = []
        for url in self.urls:
            self.driver.get(url)
            title = self.driver.find_element_by_xpath('//*[@id="leftColumn"]/h1').text
            names.append(title)
        return names

    def table(self):
        DataFrames = []
        for url in self.urls:
            self.driver.get(url)
            while True:
                try:
                    item = self.wait.until(
                        ec.visibility_of_element_located((By.XPATH, '//*[contains(@id,"showMoreHistory")]/a')))
                    self.driver.execute_script("arguments[0].click();", item)
                except …
Run Code Online (Sandbox Code Playgroud)

python duplicates pandas

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

python将多个数据框与日期合并

这段代码的目的是抓取一堆 URL,然后从每个 URL 中提取数据表。

将表转换为 Pandas 数据框,固定日期,删除不必要的列,重命名列,最后将它们全部组合成一个统一的数据框,以日期为索引,这样数据将按日期排序,以便发生的事件同时应该在同一行。拼接前的原始数据:

Release Date Argentina Economic Activity YoY

0 2018-10-25 21:00:00+02:00                           -1.6%

1 2018-09-26 21:00:00+02:00                           -2.7%

2 2018-08-23 21:00:00+02:00                           -6.7%

3 2018-07-24 21:00:00+02:00                           -5.8%

4 2018-06-26 21:00:00+02:00                           -0.9%

               Release Date Argentina Gross Domestic Product (GDP) YoY

0 2018-09-19 22:00:00+02:00                                      -4.2%

1 2018-06-19 21:00:00+02:00                                       3.6%

2 2018-03-21 21:00:00+02:00                                       3.9%

3 2017-12-20 22:00:00+02:00                                       4.2%

4 2017-09-21 21:00:00+02:00                                       2.7%
Run Code Online (Sandbox Code Playgroud)

但是连接后发生的事情是不同的日期在同一行,所以假设它们是 3 个表,我会在第一行中找到三个日期,然后是第二行......等等。

像这样:

2018-01-24 22:00:00+02:00, 2016-06-29 21:00:00...                            3.9%                                       0.5%

(2018-02-28 22:00:00+02:00, 2016-09-22 21:00:00...                            2.0%                                      -3.4%

(2018-03-28 21:00:00+02:00, 2016-12-22 …
Run Code Online (Sandbox Code Playgroud)

python date dataframe pandas

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

标签 统计

pandas ×3

python ×3

csv ×1

dataframe ×1

date ×1

datetime ×1

duplicates ×1