मैं पाइथन पांडा का उपयोग कर फ़ोल्डर में सभी सीएसवी फ़ाइलों को जोड़ना (विलय) करना चाहता हूं।पांडा डेटाफ्रेम जोड़ते समय कॉलम ऑर्डर क्यों बदल रहा है?
उदाहरण के लिए: कहो फ़ोल्डर दो csv फ़ाइलें test1.csv
और test2.csv
इस प्रकार है:
A_Id P_Id CN1 CN2 CN3
AAA 111 702 709 740
BBB 222 1727 1734 1778
और
A_Id P_Id CN1 CN2 CN3
CCC 333 710 750 750
DDD 444 180 734 778
तो अजगर स्क्रिप्ट मैंने लिखा इस प्रकार किया गया था के रूप में:
#!/usr/bin/python
import pandas as pd
import glob
all_data = pd.DataFrame()
for f in glob.glob("testfolder/*.csv"):
df = pd.read_csv(f)
all_data = all_data.append(df)
all_data.to_csv('testfolder/combined.csv')
हालांकि combined.csv
में सभी के पास लगता है संलग्न पंक्तियाँ, यह इस प्रकार है:
CN1 CN2 CN3 A_Id P_Id
0 710 750 750 CCC 333
1 180 734 778 DDD 444
0 702 709 740 AAA 111
1 1727 1734 1778 BBB 222
कहाँ के रूप में यह इस तरह दिखना चाहिए:
A_ID P_Id CN1 CN2 CN2
AAA 111 702 709 740
BBB 222 1727 1734 1778
CCC 333 110 356 123
DDD 444 220 256 223
- क्यों पहले दो स्तंभों अंत करने के लिए ले जाया जाता है?
- आखिरी पंक्ति के बजाय पहली पंक्ति में क्यों शामिल हो रहा है?
मुझे क्या याद आ रही है? और मैं पहले कॉलम में 0s और 1s कैसे प्राप्त कर सकता हूं?
पीएस: चूंकि ये बड़ी सीएसवी फाइलें हैं, इसलिए मैंने पांडा का उपयोग करने के बारे में सोचा।
पांडा का कौन सा संस्करण उपयोग करता है? क्योंकि यह 0.17.0 अच्छी तरह से काम करता है। – jezrael
मुझे लगता है कि समस्या सीएसवी के प्रारूप के साथ है - इसे जांचने के लिए पंक्ति 'df = pd.read_csv (f)' जोड़ें 'print df.head()' के बाद प्रयास करें। – jezrael
और मुझे लगता है कि आप इनपुट 'glob.glob ("testfolder/*। Csv") के रूप में आउटपुट पढ़ते हैं:', क्योंकि आउटपुट इनपुट निर्देशिका में लिखा जाता है: 'all_data.to_csv ('testfolder/jointल्ट csv'), आपके पास है निर्देशिका को 'all_data.to_csv (' out/jointल्ट.एसवीवी ') में बदलने के लिए ' – jezrael