преобразовать pandas .Dataframe.ix в новую версию pandas - PullRequest
0 голосов
/ 21 апреля 2020

Здравствуйте, я введен для обновления кода, который использовал pandas 0.23.4 строка data ['dt'] = pd.DatetimeIndex (data.ix [:, 0]) приносит мне ошибки после обновления pandas и python. Согласно исследованию, эта функция (pandas .dataframe.ix) была удалена. Какой метод можно использовать для его замены? В основном то, что делает код, это означает значения в час, которые он записывает в новую папку

import pandas as pd
from msvcrt import getch
from os import listdir

#reading file and user input
file_name = [filename for filename in listdir() if (".csv" or ".txt") in filename]

if not file_name:
    print("\nThere are no .csv files in folder")
    print(listdir())
else:
    for file in file_name:

        print("\nParsing {}".format(file))

        typ = file[-4:] #get extension of file

        if (typ == ".csv"):
            data = pd.read_csv(file, sep=';', encoding='utf-8', skiprows = 2)
            #subcase for different type of separators
            if len(data.columns) == 1:
                data = pd.read_csv(file, sep=',', encoding='utf-8', skiprows = 2)

        else:
            data = pd.read_csv(file, sep=';', encoding='utf-16', skiprows = 2)
            if len(data.columns) == 1:
                data = pd.read_csv(file, sep=',', encoding='utf-16', skiprows = 2)


        data['Valeur'] = data['Valeur'] / 1000
        data['dt'] = pd.DatetimeIndex(data.ix[:, 0])
        data = data.set_index(data['dt']).tz_localize("UTC").tz_convert("Europe/Paris")
        data['Valeur'].resample('1h').mean().to_csv("output//{}_0.csv".format(file[:-4].split(".")[0]))

print("\nPress any key (other than ALT) to exit")
getch()

данные в исходном файле: data in the initial file

Конечный результат: final Result

1 Ответ

0 голосов
/ 21 апреля 2020

я нашел решение

import pandas as pd
from msvcrt import getch
from os import listdir

#reading file and user input
file_name = [filename for filename in listdir() if (".csv" or ".txt") in filename]

if not file_name:
    print("\nThere are no .csv files in folder")
    print(listdir())
else:
    for file in file_name:

        print("\nParsing {}".format(file))

        typ = file[-4:] #get extension of file

        if (typ == ".csv"):
            data = pd.read_csv(file, sep=';', encoding='utf-8', skiprows = 2)
            #subcase for different type of separators
            if len(data.columns) == 1:
                data = pd.read_csv(file, sep=',', encoding='utf-8', skiprows = 2)

        else:
            data = pd.read_csv(file, sep=';', encoding='utf-16', skiprows = 2)
            if len(data.columns) == 1:
                data = pd.read_csv(file, sep=',', encoding='utf-16', skiprows = 2)


        data['Valeur'] = data['Valeur'] / 1000

        data['dt'] = pd.to_datetime(data.iloc[:, 0],utc=True)

        data = data.set_index(pd.DatetimeIndex(data['dt'])).tz_convert("Europe/Paris")



        data['Valeur'].resample('1h').mean().to_csv("output//{}_0.csv".format(file[:-4].split(".")[0]),header=False)
        print("fin de Reshaper, ciao!")

print("\nPress any key (other than ALT) to exit")
getch()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...