2013-06-11 4 views
12

में fmt विकल्प सेट करना मैं numpy.savetxt पर देख रहा हूं, और fmt विकल्प पर अटक गया हूं।numpy.savetxt

मैंने here पर देखने की कोशिश की और fmt विकल्प सॉर्ट के लिए उपयोग किए जा सकने वाले सभी अक्षरों के नीचे दिए गए लिंक में संदर्भ मुझे क्या हो रहा है इसका सामान्य ज्ञान दें।

मुझे क्या समझ में नहीं आता है कि % प्रतीक आवश्यक है और here दिए गए उदाहरण में मुझे 10.5 नंबर की व्याख्या कैसे करनी चाहिए? यदि "एफ" फ़्लोटिंग पॉइंट को सेट करने के बारे में है, तो यह 10.5 कैसे आता है (फिर फिर, मुझे नहीं पता कि फ्लोटिंग पॉइंट कैसे सेट हैं ...)।

+0

10 और 5% 10.5f में 10 और 5 में वर्णित हैं, और उन दस्तावेज़ों में जिन्हें आप पहली बार लिंक करते हैं। – Jdog

+0

मुझे मूर्खतापूर्ण ... इसके लिए धन्यवाद! मुझे एहसास नहीं हुआ कि उन बिंदुओं को वास्तव में मेरे प्रश्न का उत्तर दिया गया जब तक कि आप उन्हें इंगित न करें! तो इस मामले में फ़ील्ड बस [जैसा यहां है] (https://sites.google.com/site/mrdelaneysweb/python-field-widths)। यह काफी साफ है! –

उत्तर

30

आप कई तरीकों से fmt पैरामीटर का उपयोग कर सकते हैं, यहां कुछ उदाहरण दिए गए हैं।

import numpy as np 
a = np.array([[11,12,13,14], 
       [21,22,23,24]]) 

1) की स्थापना चल बिन्दु परिशुद्धता: np.savetxt('tmp.txt',a, fmt='%1.3f')

11.000 12.000 13.000 14.000 
21.000 22.000 23.000 24.000 

2) सही-सही ठहराने के लिए जोड़ा जा रहा है अक्षर।

रिक्त स्थान के साथ

: np.savetxt('tmp.txt',a, fmt='% 4d')

11 12 13 14 
    21 22 23 24 

शून्य के साथ: np.savetxt('tmp.txt',a, fmt='%04d')

0011 0012 0013 0014 
0021 0022 0023 0024 

3) बाएं औचित्य साबित ("-") का उपयोग करने के पात्रों जोड़ना।

रिक्त स्थान के साथ

: np.savetxt('tmp.txt',a, fmt='%-4d')

11 12 13 14 
21 22 23 24 

तुम भी, भाव लिखने के लिए की तरह उपयोग कर सकते हैं (ध्यान दें कि अभिव्यक्ति में प्रविष्टियों की संख्या सरणी में स्तंभों की संख्या के रूप में ही है:

4) जनरल उदाहरण: np.savetxt('tmp.txt',a, fmt='%1.1f + %1.1f/(%1.1f * %1.1f)')

11.0 + 12.0/(13.0 * 14.0) 
21.0 + 22.0/(23.0 * 24.0) 
1

यह link उपयोगी हो सकता है।

लिंक से:

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type] 
fill  ::= <any character> 
align  ::= "<" | ">" | "=" | "^" 
sign  ::= "+" | "-" | " " 
width  ::= integer 
precision ::= integer 
type  ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" 

चौड़ाई एक दशमलव पूर्णांक न्यूनतम क्षेत्र चौड़ाई को परिभाषित है। यदि निर्दिष्ट नहीं है, तो फ़ील्ड चौड़ाई सामग्री द्वारा निर्धारित की जाएगी।

जब कोई स्पष्ट संरेखण नहीं दिया जाता है, तो शून्य ('0') वर्ण द्वारा चौड़ाई क्षेत्र से पहले संख्यात्मक प्रकार के लिए साइन-जागरूक शून्य-पैडिंग सक्षम करता है। यह '0' के संरेखण प्रकार के साथ '0' के भरने वाले चरित्र के बराबर है।

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