#python #pandas
#python #pandas
Вопрос:
Мой текущий код:
import pandas as pd
df = pd.DataFrame.from_csv('data.csv',index_col=False)
while True:
print (df)
print ('Select X-Axis')
xaxis = input()
print ('Select Y-Axis')
yaxis = input()
break
df.plot(x= xaxis, y= yaxis)
Мой текущий работает, только если пользователь вводит полное имя столбца. Однако некоторые столбцы большие. Я хочу упростить задачу для моего пользователя, чтобы, если он введет часть имени столбца, это сработало. Или, если каким-то образом я могу присвоить каждому имени столбца номер, не просматривая вручную каждый столбец и не присваивая номер. Затем я могу показать список пользователю, и он вводит число, которое он хотел бы отобразить.
Комментарии:
1. Вы пробовали кодировать свое собственное предложение? Попробуйте сначала и вернитесь, если у вас не получится. Это не бесплатный сервис кодирования.
2. @JulienBernu Хорошо, если я знаю, с чего начать, мне бы понравился мой текущий код. Именно поэтому я попросил здесь некоторую помощь для направления. Я никогда никого не просил писать весь мой код.
Ответ №1:
Один из способов сделать это — использовать filter в pandas для этой цели.
df.filter(regex=(yaxis))
Он отобразит все столбцы, соответствующие этой подстроке yaxis
вот пример.
A = { 'Name': [ 'John', 'Andrew', 'Smith'] , 'Age' : [20,23,42]}
A
Out[19]: {'Age': [20, 23, 42], 'Name': ['John', 'Andrew', 'Smith']}
df = pd.DataFrame(A)
df
Out[21]:
Age Name
0 20 John
1 23 Andrew
2 42 Smith
df.filter(regex=('Na'))
Out[22]:
Name
0 John
1 Andrew
2 Smith
df.filter(regex=('e'))
Out[23]:
Age Name
0 20 John
1 23 Andrew
2 42 Smith
Комментарии:
1. Извините, я немного запутался в том, что вы подразумеваете под этим. Не могли бы вы уточнить?
2. Всякий раз, когда я пытаюсь отобразить его на графике, сбой окна графика заставляет меня перезапускаться. Итак, я выполнил print(df.fliter(regex=(‘yaxis’)), Чтобы посмотреть, что в нем, и я получаю Index: [0,1,2,3,4 ….. и так далее.
3. используйте df.filter(regex=(yaxis)).head(10), чтобы проверить только первые 10 строк и проверить свой вывод
4. Я ненадолго оставил график, и он попытался отобразить все с выбранной мной осью x