कृपया मुझे क्षमा करें यदि यह प्रश्न बहुत अधिक है, तो मैं पायथन के लिए बिल्कुल नया हूं और इसे काम के लिए उपयोग करने की आवश्यकता है, जिसका दुर्भाग्य से मूल बातें समझे बिना उच्च स्तर की सामग्री में गोता लगाना है ...

मेरे पास टेक्स्ट ट्रांसक्रिप्ट के साथ एक विशाल सीएसवी है जिसे मैंने पांडा डेटाफ्रेम में पढ़ा है। इन लिपियों को आईडी में विभाजित किया गया है और आईडी को प्रत्येक इंटरैक्शन के लिए एकवचन रिकॉर्ड प्राप्त करने के लिए समूहीकृत किया जाना चाहिए क्योंकि वे मूल डेटाबेस में सेगमेंट में अलग हो गए हैं। प्रारूप कुछ इस प्रकार है:

    ID      TEXT
    1       This is the beginning of a convo
    1        heres the middle
    1       heres the end of the convo
    2       this is the start of another convo...etc.

मैंने इस कोड का उपयोग आईडी द्वारा समूहित करने और एकवचन रिकॉर्ड बनाने के लिए किया है:

    df1 = df.groupby('ID').text.apply(' '.join)

इस कोड ने बहुत अच्छा काम किया लेकिन अब मैं एक श्रृंखला (?) के साथ फंस गया हूं जो अब इंडेक्स "आईडी" को नहीं पहचानता है, मुझे लगता है कि इसे टेक्स्ट या कुछ के साथ मिला दिया गया है। जब मैं to_frame() का उपयोग करता हूं तो समस्या बनी रहती है। मैं सोच रहा हूं कि मैं आईडी को फिर से कैसे अलग कर सकता हूं और डेटा को इंडेक्स करने के लिए इसका इस्तेमाल कर सकता हूं?

0
S420L 26 अक्टूबर 2018, 17:57

1 उत्तर

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

ग्रुपबाय ग्रुपबाय-एड कॉलम को इंडेक्स के रूप में लौटाएगा। आपके कोड को देखकर मैं यही देखता हूं।

import pandas as pd
df = pd.DataFrame({'ID':[1,1,1,2], 
                  'TEXT':['This is the beginning of a convo', 'heres the 
                          middle', 'heres the end of the convo', 'this is the 
                          start of another convo...etc.']})
df1 = df.groupby('ID').TEXT.apply(' '.join)
print(df1)

ID
1    This is the beginning of a convo heres the mid...
2    this is the start of another convo...etc.
Name: TEXT, dtype: object

आप श्रृंखला df1 ले सकते हैं और इसे फिर से अनुक्रमित कर सकते हैं यदि आप आईडी को डेटाफ़्रेम में एक कॉलम के रूप में चाहते हैं, या इसके साथ श्रृंखला के लिए एक इंडेक्स के रूप में आगे बढ़ सकते हैं जो आपके अगले चरणों के आधार पर आसान हो सकता है। .

df1 = df1.reset_index()
print(df1)

    ID  TEXT
0   1   This is the beginning of a convo heres the mid...
1   2   this is the start of another convo...etc.
1
jtweeder 26 अक्टूबर 2018, 17:47