पंडों में एक खाली DataFrame को लागू करना?


212

क्या किसी खाली डेटा फ्रेम को जोड़ना संभव है जिसमें कोई सूचकांक या कॉलम नहीं है?

मैंने ऐसा करने की कोशिश की है, लेकिन अंत में एक खाली डेटाफ़्रेम प्राप्त करना जारी रखें।

जैसे

df = pd.DataFrame()
data = ['some kind of data here' --> I have checked the type already, and it is a dataframe]
df.append(data)

परिणाम इस तरह दिखता है:

Empty DataFrame
Columns: []
Index: []

यहां एक समान प्रश्न का उत्तर दिया गया: stackoverflow.com/questions/13784192/… । मूल रूप से कुछ इस तरहnewDF = pd.DataFrame() #creates a new dataframe that's empty newDF = newDF.append(oldDF, ignore_index = True) # ignoring index is optional
geekidharsh

क्या कहते हैं? एक मूल्य? एक पायथन सूची? एक पांडा श्रृंखला? एक और डेटाफ़्रेम? आपका उदाहरण अनुगामी टिप्पणी आपको एक और डेटाफ़्रेम का मतलब बताती है - इसलिए अपने उदाहरण कोड में एक
डेटाफ़्रेम दें

और जब आप कहते हैं "परिणाम इस तरह दिखता है", मुझे आशा है कि आप सीधे करने की कोशिश नहीं कर रहे हैं print(df.append(data)), क्योंकि append()हमेशा पायथन में कोई भी नहीं लौटाता है
smci

जवाबों:


388

यह काम करना चाहिए:

>>> df = pd.DataFrame()
>>> data = pd.DataFrame({"A": range(3)})
>>> df.append(data)
   A
0  0
1  1
2  2

लेकिन यथा-स्थान नहीं होता है , तो आप उत्पादन स्टोर करने के लिए करता है, तो आप यह चाहते होंगे:append

>>> df
Empty DataFrame
Columns: []
Index: []
>>> df = df.append(data)
>>> df
   A
0  0
1  1
2  2

8
धन्यवाद! वह काम किया! मुझे महसूस नहीं हुआ कि मुझे आउटपुट स्टोर करना था ... मुझे शायद प्रलेखन बेहतर पढ़ना चाहिए था, लेकिन मैं इसकी सराहना करता हूं, @DSM!
ericmjl

9
मैं हमेशा आपको यह असाइन करने की आवश्यकता भूल जाता हूँ!
एंडी बी

66
वास्तव में वह
अपेंडेंस

6
पंडों के उदाहरणों से पता नहीं चलता कि ऐसा क्यों है। आपकी सहायताके लिए धन्यवाद!
ड्रिव्ज़ स्कोर्को जूल

2
ध्यान दें कि कम से कम जून 2018 में यदि आप नई पंक्तियों को स्वयं ऑटो-इंडेक्स के लिए चाहते हैं, तो आपको df.append (डेटा, ign_index = True) लिखना चाहिए। शानदार जवाब के लिए धन्यवाद!
एडम बी

98

और यदि आप एक पंक्ति जोड़ना चाहते हैं, तो आप एक शब्दकोश का उपयोग कर सकते हैं:

df = pd.DataFrame()
df = df.append({'name': 'Zed', 'age': 9, 'height': 2}, ignore_index=True)

जो आपको देता है:

   age  height name
0    9       2  Zed

कम प्रदर्शन, विशेष रूप से जब बड़े डेटा के साथ काम करते हैं
rullalves

2
क्या आप अन्य प्रस्तावित विकल्पों के संबंध में @raullalves डाल सकते हैं?
बाउंसर

23

आप इस तरह से डेटा को सुरक्षित कर सकते हैं:

InfoDF = pd.DataFrame()
tempDF = pd.DataFrame(rows,columns=['id','min_date'])

InfoDF = pd.concat([InfoDF,tempDF])

धन्यवाद, मैंने कॉनसैट की कोशिश की। लेकिन अगर वे एक ही काम कर सकते हैं, तो अपेंड और कॉनकट दोनों क्यों
नितेश कुमार

यह धागा एक अच्छी व्याख्या दे सकता है: stackoverflow.com/questions/15819050/…
दीपिश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.