पर कुशलतापूर्वक कैसे स्थानांतरित कर सकता हूं मैंने तिथि के अनुसार कुछ समेकन करने के लिए pandas
का उपयोग शुरू कर दिया है। मेरा लक्ष्य किसी विशेष दिन पर होने वाले माप के सभी उदाहरणों को गिनना है, और उसके बाद D3
में इसका प्रतिनिधित्व करना है। मेरे कार्यप्रवाह समझाने के लिए, मैं (Django
से) एक क्वेरीसमूह है कि इस तरह दिखता है:मैं पांडस डेटाफ्रेम से JSON
queryset = [{'created':"05-16-13", 'counter':1, 'id':13}, {'created':"05-16-13", 'counter':1, 'id':34}, {'created':"05-17-13", 'counter':1, 'id':12}, {'created':"05-16-13", 'counter':1, 'id':7}, {'created':"05-18-13", 'counter':1, 'id':6}]
मैं pandas
में एक dataframe बनाने के लिए और दिन बनाया द्वारा उपाय 'काउंटर' कुल:
import pandas as pd
queryset_df = pd.DataFrame.from_records(queryset).set_index('id')
aggregated_df = queryset_df.groupby('created').sum()
counter
created
05-16-13 3
05-17-13 1
05-18-13 1
जैसा कि मैंने D3
उपयोग कर रहा हूँ मैंने सोचा था कि एक JSON
वस्तु टी होगा: यह मुझे इस तरह एक dataframe देता है वह सबसे उपयोगी है। Pandas
to_json()
समारोह का उपयोग करते हुए मैं इस तरह मेरी dataframe कन्वर्ट:
aggregated_df.to_json()
, मुझे दे JSON
वस्तु
{"counter":{"05-16-13":3,"05-17-13":1,"05-18-13":1}}
यह नहीं है कि मैं वास्तव में क्या चाहते हैं निम्नलिखित के रूप में मैं दोनों का उपयोग कर सकेंगे चाहते हैं तारीख, और माप। क्या कोई तरीका है कि मैं डेटा निर्यात कर सकता हूं जैसे कि मैं इस तरह कुछ खत्म करूँ?
data = {"c1":{"date":"05-16-13", "counter":3},"c2":{"date":"05-17-13", "counter":1}, "c3":{"date":"05-18-13", "counter":1}}
मैंने सोचा कि अगर मैं Python
पक्ष पर अलग ढंग से इस संरचना सकता है, यह डेटा स्वरूपण की राशि मैं JS
पक्ष पर क्या करने की जरूरत के रूप में मैं कुछ इस तरह कर रही डेटा लोड करने की योजना बनाई है को कम करेगा:
x.domain(d3.extent(data, function(d) { return d.date; }));
y.domain(d3.extent(data, function(d) { return d.counter; }));
मैं बेहतर वर्कफ़्लो के सुझाव के लिए बहुत खुले समग्र रूप में यह कुछ मैं अक्सर क्या करने की जरूरत है, लेकिन D3
और pandas
के बीच संबंध से निपटने का सबसे अच्छा तरीका को लेकर अनिश्चित हूं जाएगा हूँ। (मैंने कई पैकेजों को देखा है जो python
और D3
दोनों को सीधे जोड़ते हैं, लेकिन ऐसा कुछ ऐसा नहीं है जिसे मैं स्थिर चार्ट पीढ़ी पर ध्यान केंद्रित कर रहा हूं और एक एसवीजी नहीं बना रहा हूं)