Переименование пустого первого столбца и получение правильных меток оси X при построении графиков с использованием Pandas - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь построить график зависимости температуры от времени с помощью панд.CSV-файл, из которого я импортирую, является разделителем табуляции.После считывания CSV в информационный кадр (как показано ниже) первый столбец в нем - это дата и время.Там нет названия для этого столбца.Я попытался переименовать столбец, но это выглядит невозможным.

Также, когда я строю график временная зависимость графика, на оси x ничего не упоминается, кроме некоторых отметок.Нужна помощь и в этом.

Мой фрейм данных выглядит так, как вы можете видеть, что первый столбец - это дата и время, должен был иметь имя столбца как время, но он пуст!

                     reactorPressure   vacuumGauge   MFC1   MFC2 ...    rfFreq   crucTemp   vacPressure   \r
                                                                 ...                                        
2018-12-18 10:18:18             0.05  4.569000e-07   -0.4    0.0 ...    11.496      503.0                 \r
2018-12-18 10:18:28             0.12  4.616000e-07   -0.4    0.0 ...    11.481      509.0                 \r
2018-12-18 10:18:38             0.25  4.584000e-07   -0.4    0.0 ...    11.475      514.0                 \r
2018-12-18 10:18:48             0.20  4.622000e-07   -0.4    0.0 ...    11.481      519.0                 \r
2018-12-18 10:18:58             0.25  4.641000e-07   -0.4    0.0 ...    11.484      524.0                 \r

[5 rows x 12 columns]
Index(['reactorPressure', ' vacuumGauge', ' MFC1', ' MFC2', ' MFC3',
       ' rfVoltage', ' rfCurrent', ' rfPower', ' rfFreq', ' crucTemp',
       ' vacPressure', ' \r'],
      dtype='object')

Чтобы решить проблему с переименованием, я попытался

df.rename(columns={'':'Time'}, inplace=True)

, но не сработал, я не вижу Безымянный: 0 при запуске #print (df.head().

Я пытался

df.columns=['Time'] + df.columns.tolist()[1:]
print(df.columns)

, но вместо добавления имени к нулевому столбцу он переименовывает столбец 1.

Я попытался удалить столбцы, а затемдобавление их вручную с помощью

df.read_csv('filename.csv',names=['Time', 'pressure',..])

также не помогло. Первый столбец всегда остается пустым. Мой код указан ниже!

import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plt
import datetime
df = pd.read_csv('testfile3.csv',sep='\t',lineterminator='\n', index_col=0)
print(df.head())
df[' crucTemp'].plot()
plt.show()

Благодарим Вас за помощь! Спасибо! Я также могу поделитьсямой CSV-файл здесь, но я не знаю, как. Я могу отправить вам этот файл по электронной почте, если вы оставите свой адрес электронной почты, или я могу загрузить файл, если вы скажете мне, как!

[https://i.stack.imgur.com/bpKgs.png][1]

Ссылка для сюжета crucTemp Vs (дата и время первого столбца), не имеет чисел на оси X. Честно говоря, меня не волнует, что в фрейме данных нет названия для первого столбца, но мне нужно, чтобы ось X печаталась справильные номера.

1 Ответ

0 голосов
/ 23 декабря 2018

Там все хорошо.Первый столбец без заголовка - это ваш индекс, часто просто столбец счетчика, но вы явно устанавливаете первый столбец данных в качестве индекса, записывая index_col=0 в своей команде импорта данных pd.read_csv().

Однако типэтого индекса все еще строка, поэтому pandas (или matplotlib под капотом) не знает о временной природе этого индекса.

df.index = pd.to_datetime(df.index)

должно помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...