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

ticker_add = st.sidebar.text_input("Ticker")

df['Ticker'][len(df)+1] = ticker_add

कोड [len(df)+1] काम नहीं करता। जब मैं [len(df)-1] करने की कोशिश करता हूं, तो यह काम करता है लेकिन मैं इसे डेटाफ्रेम के अंत में जोड़ना चाहता हूं, अंतिम स्टॉक को प्रतिस्थापित नहीं करना चाहता। ऐसा लगता है कि यह डेटाफ़्रेम में एक पंक्ति नहीं जोड़ सकता।

0
Louis 6 नवम्बर 2020, 16:57

1 उत्तर

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

समाधान

आपको पहले ticker_add के प्रकार की जांच करनी होगी।

type(ticker_add)

डेटाफ़्रेम में नई पंक्ति जोड़ना

  1. मान लें कि आपका ticker_add डेटाफ़्रेम df के कॉलम नामों के साथ एक डिक्शनरी है, तो आप यह कर सकते हैं:

    df.append(pd.DataFrame(ticker_add))
    
  2. यह मानते हुए कि यह एक गैर-सरणी जैसा इनपुट है, आप यह कर सकते हैं:

    # adds a new row for a single column ("Ticker") dataframe
    df = df.append({'Ticker': ticker_add}, ignore_index=True)
    

संदर्भ

  1. पांडा में एक पंक्ति जोड़ें DataFrame
  2. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html
3
CypherX 6 नवम्बर 2020, 17:12