मैं पंक्तियों की एक निश्चित संख्या का डेटाफ़्रेम बनाना चाहता हूँ, मान लीजिए, 100 पंक्तियाँ।

डेटाफ्रेम में निम्नलिखित कॉलम हैं: डेटाटाइमइंडेक्स, स्टॉक क्लोजिंग प्राइस, ईएमए 5, ईएमए 12।

जब on_ticks फ़ंक्शन चलता है, तो मैं इसमें नई पंक्ति जोड़ता हूं, इसे नीचे धकेल दिया जाता है, और डेटाफ़्रेम के आकार को स्थिर रखते हुए सबसे पुरानी पंक्ति को छोड़ दिया जाता है। (सभी पंक्तियाँ 1 से ऊपर जाती हैं)

कोई सुझाव?

0
KawaiKx 27 अक्टूबर 2019, 19:15

1 उत्तर

यह मानते हुए कि आपका डेटाटाइम इंडेक्स आरोही क्रम में क्रमबद्ध है, आप इसे निम्नानुसार कर सकते हैं

डमी डेटाफ़्रेम बनाना

import pandas as pd
df = pd.DataFrame(np.random.rand(100,3), columns=list("ABC"))
df.set_index(pd.date_range("oct-27-2019", periods=100, freq="min"), inplace=True)

समाधान

## add new row for next minute
df.loc[df.iloc[-1].name + pd.Timedelta(1, "min")] = [0.1,0.1,0.1]
## remove the oldest row in the dataframe
df.drop(index=df.iloc[0].name, inplace=True)
df
0
Dev Khadka 27 अक्टूबर 2019, 19:38