मैं पांडा का उपयोग कर अस्थायी बनाम समय ग्राफ साजिश करने की कोशिश कर रहा हूँ। मैं जिस CSV फ़ाइल से आयात कर रहा हूं वह टैब सीमित है। CSV को डेटाफ़्रेम में पढ़ने के बाद, (जैसा कि नीचे दिखाया गया है) इसमें पहला कॉलम दिनांक और समय है। उस कॉलम का कोई नाम नहीं है। मैंने कॉलम का नाम बदलने की कोशिश की लेकिन यह असंभव लग रहा है।

साथ ही जब मैं ग्राफ अस्थायी बनाम समय प्लॉट करता हूं, तो एक्स अक्ष पर कुछ भी उल्लेख नहीं किया जाता है लेकिन कुछ टिक होते हैं। इसमें भी मदद चाहिए।

मेरा डेटाफ्रेम इस तरह दिखता है, जैसा कि आप देख सकते हैं कि पहला कॉलम डेटाटाइम है, कॉलम नाम समय के रूप में होना चाहिए था, लेकिन यह खाली है!

                     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()

अपनी तरह की मदद की सराहना करें! धन्यवाद! मैं यहां अपनी सीएसवी फ़ाइल भी साझा कर सकता हूं, लेकिन मुझे नहीं पता कि कैसे। अगर आप अपना ईमेल पता छोड़ते हैं तो मैं आपको यह फाइल ईमेल कर सकता हूं, या अगर आप मुझे बताएं कि कैसे मैं फाइल अपलोड कर सकता हूं!

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

साजिश crucTemp बनाम (पहला कॉलम दिनांक और समय) के लिए लिंक, एक्स अक्ष पर कोई संख्या नहीं है। मैं ईमानदारी से पहले कॉलम के लिए नाम नहीं होने वाले डेटाफ्रेम की परवाह नहीं करता, लेकिन मुझे उचित संख्याओं के साथ मुद्रित होने के लिए एक्स अक्ष की आवश्यकता है।

-1
Naveen Shetty 23 पद 2018, 17:28

1 उत्तर

सबसे बढ़िया उत्तर

वहां सब ठीक है। पहला "हेडलेस" कॉलम आपकी अनुक्रमणिका है, अक्सर केवल एक काउंटर कॉलम होता है, लेकिन आप अपने डेटा आयात कमांड pd.read_csv() में index_col=0 लिखकर पहले डेटा कॉलम को इंडेक्स के रूप में स्पष्ट रूप से सेट करते हैं।

हालाँकि, इस सूचकांक का प्रकार अभी भी स्ट्रिंग है, इसलिए पांडा (या हुड के नीचे matplotlib) इस सूचकांक की समय प्रकृति के बारे में नहीं जानते हैं।

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

मदद करनी चाहिए।

0
SpghttCd 23 पद 2018, 19:27