Как извлечь данные CSV с помощью функции input () в Python - PullRequest
0 голосов
/ 18 марта 2019

В настоящее время я пытаюсь создать надежный входной граф в Python, используя данные CSV. Мне удалось успешно импортировать данные и заставить работать функцию input (), но я бы хотел, чтобы эта функция использовала соответствующую точку данных, чтобы впоследствии я мог отобразить ее. В настоящее время я запрашиваю интересующую дату из этого DOI, и я бы хотел, чтобы python взял последующие данные из следующего столбца и нанес на карту эту точку на графике. Я попытался использовать цикл for и в настоящее время пытаюсь сделать это, определив функцию. Возможно ли, чтобы Python сделал это? или мне нужно будет переопределить, как получить данные "y", если можно так выразиться?

CSV пример: значение даты

2006001 12345

2006002 13452

2006003 12567

вот мой код (только для сбора данных):

import numpy as np
import matplotlib.pyplot as plt
import os

os.chdir("/Users/misi7940/Downloads/")


masie_df=pd.read_csv("masie (1).csv", skiprows=[0])
#masie_df.info()
x=masie_df[['yyyyddd']]
y=masie_df[[' (0) Northern_Hemisphere']]


def date():
    DOI=input("what is your date of interest?")
    for row in masie_df:
        if DOI == row[1]:
            print(row)


date()

1 Ответ

0 голосов
/ 20 марта 2019

Я не уверен, как будет работать весь ваш скрипт, но вам нужно будет использовать .loc в Pandas для достижения результата поиска.

Вот некоторый (непроверенный) код, который может вам помочь:

import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

ddict = {
    'date':['2006001','2006002','2006003',],
    'value':['12345','13452','12567',],
}
masie_df = pd.DataFrame(ddict)

def date():
    while True:
        print('what is your date of interest? [yyyyddd format]')
        DOI = input('>>> ')
        if len(DOI) == 7:
            for i in masie_df:
                if DOI in masie_df['date']:
                    print(masie_df.loc[masie_df['date'] == DOI]['value'])

        else:
            print('Please enter a valid date format or [Q] to quit.')
            DOI = input('>>> ')
            if DOI.lower() in ['q','quit','',]:
                break

    print('Goodbye!')


if __name__ == '__main__':
    date()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...