मैं पांडा का उपयोग कर अस्थायी बनाम समय ग्राफ साजिश करने की कोशिश कर रहा हूँ। मैं जिस 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 उत्तर
वहां सब ठीक है। पहला "हेडलेस" कॉलम आपकी अनुक्रमणिका है, अक्सर केवल एक काउंटर कॉलम होता है, लेकिन आप अपने डेटा आयात कमांड pd.read_csv()
में index_col=0
लिखकर पहले डेटा कॉलम को इंडेक्स के रूप में स्पष्ट रूप से सेट करते हैं।
हालाँकि, इस सूचकांक का प्रकार अभी भी स्ट्रिंग है, इसलिए पांडा (या हुड के नीचे matplotlib) इस सूचकांक की समय प्रकृति के बारे में नहीं जानते हैं।
df.index = pd.to_datetime(df.index)
मदद करनी चाहिए।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।