Python Pandas - ฟังก์ชันทางสถิติ
วิธีการทางสถิติช่วยในการทำความเข้าใจและวิเคราะห์พฤติกรรมของข้อมูล ตอนนี้เราจะเรียนรู้ฟังก์ชันทางสถิติบางอย่างซึ่งเราสามารถนำไปใช้กับวัตถุ Pandas ได้
Percent_change
Series, DatFrames และ Panel ล้วนมีฟังก์ชัน pct_change(). ฟังก์ชันนี้จะเปรียบเทียบทุกองค์ประกอบกับองค์ประกอบก่อนหน้าและคำนวณเปอร์เซ็นต์การเปลี่ยนแปลง
import pandas as pd
import numpy as np
s = pd.Series([1,2,3,4,5,4])
print s.pct_change()
df = pd.DataFrame(np.random.randn(5, 2))
print df.pct_change()
มัน output มีดังนี้ -
0 NaN
1 1.000000
2 0.500000
3 0.333333
4 0.250000
5 -0.200000
dtype: float64
0 1
0 NaN NaN
1 -15.151902 0.174730
2 -0.746374 -1.449088
3 -3.582229 -3.165836
4 15.601150 -1.860434
โดยค่าเริ่มต้นไฟล์ pct_change()ดำเนินการกับคอลัมน์ หากคุณต้องการใช้แถวเดียวกันอย่างชาญฉลาดให้ใช้axis=1() การโต้เถียง.
ความแปรปรวนร่วม
ความแปรปรวนร่วมถูกนำไปใช้กับข้อมูลอนุกรม วัตถุ Series มีวิธีการ cov ในการคำนวณความแปรปรวนร่วมระหว่างวัตถุอนุกรม NA จะถูกแยกออกโดยอัตโนมัติ
ซีรีส์ Cov
import pandas as pd
import numpy as np
s1 = pd.Series(np.random.randn(10))
s2 = pd.Series(np.random.randn(10))
print s1.cov(s2)
มัน output มีดังนี้ -
-0.12978405324
วิธีความแปรปรวนเมื่อใช้กับ DataFrame คำนวณ cov ระหว่างคอลัมน์ทั้งหมด
import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print frame['a'].cov(frame['b'])
print frame.cov()
มัน output มีดังนี้ -
-0.58312921152741437
a b c d e
a 1.780628 -0.583129 -0.185575 0.003679 -0.136558
b -0.583129 1.297011 0.136530 -0.523719 0.251064
c -0.185575 0.136530 0.915227 -0.053881 -0.058926
d 0.003679 -0.523719 -0.053881 1.521426 -0.487694
e -0.136558 0.251064 -0.058926 -0.487694 0.960761
Note - สังเกตไฟล์ cov ระหว่าง a และ b คอลัมน์ในคำสั่งแรกและค่าที่เหมือนกันคือค่าที่ส่งคืนโดย cov บน DataFrame
สหสัมพันธ์
สหสัมพันธ์แสดงความสัมพันธ์เชิงเส้นระหว่างอาร์เรย์สองค่า (อนุกรม) มีหลายวิธีในการคำนวณความสัมพันธ์เช่นเพียร์สัน (ค่าเริ่มต้น) สเปียร์แมนและเคนดอล
import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print frame['a'].corr(frame['b'])
print frame.corr()
มัน output มีดังนี้ -
-0.383712785514
a b c d e
a 1.000000 -0.383713 -0.145368 0.002235 -0.104405
b -0.383713 1.000000 0.125311 -0.372821 0.224908
c -0.145368 0.125311 1.000000 -0.045661 -0.062840
d 0.002235 -0.372821 -0.045661 1.000000 -0.403380
e -0.104405 0.224908 -0.062840 -0.403380 1.000000
หากคอลัมน์ที่ไม่ใช่ตัวเลขมีอยู่ใน DataFrame คอลัมน์นั้นจะถูกแยกออกโดยอัตโนมัติ
การจัดอันดับข้อมูล
การจัดอันดับข้อมูลทำให้เกิดการจัดอันดับสำหรับแต่ละองค์ประกอบในอาร์เรย์ขององค์ประกอบ ในกรณีของความสัมพันธ์ให้กำหนดอันดับเฉลี่ย
import pandas as pd
import numpy as np
s = pd.Series(np.random.np.random.randn(5), index=list('abcde'))
s['d'] = s['b'] # so there's a tie
print s.rank()
มัน output มีดังนี้ -
a 1.0
b 3.5
c 2.0
d 3.5
e 5.0
dtype: float64
อันดับเป็นทางเลือกที่จะใช้พารามิเตอร์จากน้อยไปมากซึ่งโดยค่าเริ่มต้นจะเป็นจริง เมื่อเป็นเท็จข้อมูลจะถูกจัดลำดับแบบย้อนกลับโดยค่าที่มากกว่าจะกำหนดอันดับที่น้อยกว่า
อันดับรองรับวิธีการทำลายไทด์ที่แตกต่างกันซึ่งระบุด้วยพารามิเตอร์วิธีการ -
average - อันดับเฉลี่ยของกลุ่มที่ผูก
min - อันดับต่ำสุดในกลุ่ม
max - อันดับสูงสุดในกลุ่ม
first - อันดับที่กำหนดตามลำดับที่ปรากฏในอาร์เรย์