विभाजन dataframe में छोटे dataframe द्वारा स्तंभ नाम

0

सवाल

तो मैं कर रहा हूँ एक समय श्रृंखला/LSTM काम और मैं एक शेयर डेटासेट: https://www.kaggle.com/camnugent/sandp500

बात यह है कि मैं की जरूरत है विभाजित करने के लिए मुख्य dataframe में छोटे dataframes के नाम से प्रत्येक कंपनी है । वहाँ है एक तेजी से जिस तरह से ऐसा करने के लिए? क्योंकि वहाँ रहे हैं दसियों की कंपनी के नाम, मैंने देखा है कि यह किया जा सकता है के साथ iloc लेकिन प्रयास बहुत ज्यादा है.

df = pd.read_csv('all_stocks_5yr.csv', parse_dates=['date'])
df['date'] = pd.to_datetime(df['date'])

grouped_df = df.groupby('Name')

यहाँ यह बेहतर देखा जा सकता है:

enter image description here

के रूप में आप देख सकते हैं, वहाँ रहे हैं अलग अलग कंपनियों अलग अलग नामों के साथ, मैं क्या चाहते हैं एक dataframe प्रत्येक कंपनी के लिए. मदद की बहुत सराहना की

dataframe keras lstm pandas
2021-11-23 15:16:49
2

सबसे अच्छा जवाब

1

मान लें यह आपके dataframe:

 Name  price
0   aal      1
1   aal      2
2   aal      3
3   aal      4
4   aal      5
5   aal      6
6   bll      7
7   bll      8
8   bll      9
9   bll      8
10  dll      7
11  dll     56
12  dll      4
13  dll      3
14  dll      3
15  dll      5

तो क्या निम्न:

for Name, df in df.groupby('Name'):
    df.to_csv("Price_{}".format(Name)+".csv", sep=";")

बचा लेंगे कि सभी उप-dataframes सीएसवी के रूप में. देखने के लिए क्या कोड है:

for Name, df in df.groupby('Name'):
    print(df)

रिटर्न:

Name  price
0  aal      1
1  aal      2
2  aal      3
3  aal      4
4  aal      5
5  aal      6
  Name  price
6  bll      7
7  bll      8
8  bll      9
9  bll      8
   Name  price
10  dll      7
11  dll     56
12  dll      4
13  dll      3
14  dll      3
15  dll      5

अगर आप की जरूरत है पुनर्स्थापित करने के लिए सूचकांक में हर लोमो, तो यह करें:

for Name, df in df.groupby('Name'):
    gf = df.reset_index()
    print(gf)

जो देता है:

index Name  price
0      0  aal      1
1      1  aal      2
2      2  aal      3
3      3  aal      4
4      4  aal      5
5      5  aal      6
   index Name  price
0      6  bll      7
1      7  bll      8
2      8  bll      9
3      9  bll      8
   index Name  price
0     10  dll      7
1     11  dll     56
2     12  dll      4
3     13  dll      3
4     14  dll      3
5     15  dll      5
2021-11-23 17:49:39

डेटासेट के कुछ क्षेत्रों में इस तरह के रूप में: खुला, उच्च, कम, करीब... कैसे क्या मैं जोड़ें जब उन्हें बदलने df सीएसवी करने के लिए?
eneko valero

@enekovalero आप की जरूरत नहीं कुछ भी करने के लिए किसी और की तुलना में ऊपर कोड । मेरे लोमो था बस एक उदाहरण है. सभी कॉलम में होगा हर उत्पादित dataframe. यह केवल फ़िल्टर्ड नाम पर. अपने भविष्य के लिए प्रश्न (या अगर तुम मुझे चाहते पर परीक्षण करने के लिए अपने वास्तविक डेटा) नहीं है, छवियों को पोस्ट. इसके बजाय यह करते हैं: df.head(50).to_dict() (या किसी भी संख्या के बजाय 50) और पेस्ट में परिणाम के बीच `` <यहाँ> `` आप तो सवाल है ।
Serge de Gosson de Varennes

@eneko valero...मुझे नहीं लगता कि अपनी अवधारणा बनाता है भावना का एक बहुत कुछ है, या किसी भी मतलब. कर सकते हैं आप की कोशिश अवधारणा को संदर्भित नीचे? शायद सिर्फ पहली 1/4 के लिए लागू होता है क्या कर रहे हैं. github.com/ASH-WICUS/Notebooks/blob/master/...
ASH
0

यह होना चाहिए साध्य के साथ बूलियन अनुक्रमण:

list_of_dataframes = [
    df[df.Name == name]
    for name
    in df.Name.unique()
]
2021-11-23 16:22:54

यह काम करेगा, लेकिन मैं कल्पना यह हो जाएगा बहुत धीमी गति से पर एक बड़ा डाटासेट है, क्योंकि आप की गणना करने के लिए पूरे बूलियन श्रृंखला में से प्रत्येक के लिए अद्वितीय नाम है.
Kevin Roche

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में