คำถามติดแท็ก pandas

Pandas เป็นห้องสมุด Python สำหรับการจัดการและวิเคราะห์ข้อมูลเช่น dataframes, อนุกรมเวลาหลายมิติและชุดข้อมูลแบบตัดขวางซึ่งมักพบในสถิติ, ผลการทดลองทางวิทยาศาสตร์, เศรษฐมิติหรือการเงิน Pandas เป็นหนึ่งในห้องสมุดวิทยาศาสตร์ข้อมูลที่สำคัญใน Python

4
ตารางความถี่สำหรับตัวแปรเดียว
คำถามสุดท้ายของแพนด้ามือใหม่สำหรับวันนี้: ฉันจะสร้างตารางสำหรับซีรีส์เดี่ยวได้อย่างไร ตัวอย่างเช่น: my_series = pandas.Series([1,2,2,3,3,3]) pandas.magical_frequency_function( my_series ) >> { 1 : 1, 2 : 2, 3 : 3 } googling จำนวนมากทำให้ฉันไปที่ Series.describe () และ pandas.crosstabs แต่สิ่งเหล่านี้ไม่ได้ทำในสิ่งที่ฉันต้องการ: ตัวแปรเดียวนับตามหมวดหมู่ โอ้และคงจะดีถ้ามันใช้งานได้กับประเภทข้อมูลที่แตกต่างกันเช่นสตริง ints ฯลฯ

7
Pandas เลือกตามป้ายกำกับบางครั้งจะส่งคืน Series บางครั้งก็ส่งคืน DataFrame
ใน Pandas เมื่อฉันเลือกป้ายกำกับที่มีเพียงรายการเดียวในดัชนีฉันจะได้ซีรี่ส์กลับคืนมา แต่เมื่อฉันเลือกรายการที่มีมากกว่าหนึ่งรายการฉันจะได้รับกรอบข้อมูลกลับคืนมา ทำไมถึงเป็นเช่นนั้น? มีวิธีใดบ้างที่จะทำให้แน่ใจว่าฉันได้รับ data frame กลับมาเสมอ In [1]: import pandas as pd In [2]: df = pd.DataFrame(data=range(5), index=[1, 2, 3, 3, 3]) In [3]: type(df.loc[3]) Out[3]: pandas.core.frame.DataFrame In [4]: type(df.loc[1]) Out[4]: pandas.core.series.Series

10
Python Pandas - ค้นหาความแตกต่างระหว่างสองเฟรมข้อมูล
ฉันมีเฟรมข้อมูลสองเฟรม df1 และ df2 โดยที่ df2 เป็นเซตย่อยของ df1 ฉันจะรับ data frame ใหม่ (df3) ซึ่งแตกต่างระหว่าง data frame ทั้งสองได้อย่างไร กล่าวอีกนัยหนึ่งคือ data frame ที่มีแถว / คอลัมน์ทั้งหมดใน df1 ที่ไม่อยู่ใน df2?

5
pandas read_csv และกรองคอลัมน์ด้วย usecols
ฉันมีไฟล์ csv ที่เข้ามาไม่ถูกต้องpandas.read_csvเมื่อฉันกรองคอลัมน์ด้วยusecolsและใช้ดัชนีหลายรายการ import pandas as pd csv = r"""dummy,date,loc,x bar,20090101,a,1 bar,20090102,a,3 bar,20090103,a,5 bar,20090101,b,1 bar,20090102,b,3 bar,20090103,b,5""" f = open('foo.csv', 'w') f.write(csv) f.close() df1 = pd.read_csv('foo.csv', header=0, names=["dummy", "date", "loc", "x"], index_col=["date", "loc"], usecols=["dummy", "date", "loc", "x"], parse_dates=["date"]) print df1 # Ignore the dummy columns df2 = pd.read_csv('foo.csv', index_col=["date", "loc"], usecols=["date", …

6
แปลงกรอบข้อมูลแพนด้าเป็นอนุกรม
ฉันค่อนข้างใหม่กับแพนด้า ฉันมีกรอบข้อมูลแพนด้าที่มี 1 แถวคูณ 23 คอลัมน์ ฉันต้องการแปลงเป็นซีรีส์หรือไม่ ฉันสงสัยว่าวิธีที่ยิ่งใหญ่ที่สุดในการทำเช่นนี้คืออะไร? ฉันได้พยายามแต่ก็บ่นpd.Series(myResults) ValueError: cannot copy sequence with size 23 to array axis with dimension 1มันไม่ฉลาดพอที่จะรู้ว่ามันยังคงเป็น "เวกเตอร์" ในแง่คณิตศาสตร์ ขอบคุณ!

4
วิธีการลงจุดสองคอลัมน์ของกรอบข้อมูลแพนด้าโดยใช้จุด?
ฉันมีกรอบข้อมูลแพนด้าและต้องการพล็อตค่าจากคอลัมน์หนึ่งเทียบกับค่าจากคอลัมน์อื่น โชคดีที่มีplotวิธีการที่เกี่ยวข้องกับ data-frames ที่ดูเหมือนจะทำในสิ่งที่ฉันต้องการ: df.plot(x='col_name_1', y='col_name_2') น่าเสียดายที่ดูเหมือนว่าในรูปแบบพล็อต (แสดงรายการที่นี่หลังkindพารามิเตอร์) จะไม่มีคะแนน ฉันสามารถใช้เส้นหรือแท่งหรือแม้กระทั่งความหนาแน่น แต่ไม่ใช่จุด มีวิธีแก้ไขที่สามารถช่วยแก้ปัญหานี้ได้หรือไม่

4
pandas.qcut และ pandas.cut ต่างกันอย่างไร?
เอกสารระบุว่า: http://pandas.pydata.org/pandas-docs/dev/basics.html "ค่าต่อเนื่องสามารถแยกออกได้โดยใช้ฟังก์ชันการตัด (ถังขยะตามค่า) และ qcut (ถังขยะตามจำนวนตัวอย่าง)" ฟังดูเป็นนามธรรมมากสำหรับฉัน ... ฉันเห็นความแตกต่างในตัวอย่างด้านล่าง แต่qcut (ควอนไทล์ตัวอย่าง) ทำอะไร / หมายความว่าอย่างไร? คุณจะใช้ qcut กับ cut เมื่อใด ขอบคุณ. factors = np.random.randn(30) In [11]: pd.cut(factors, 5) Out[11]: [(-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (0.575, 1.561], ..., (-0.411, 0.575], (-1.397, -0.411], (0.575, 1.561], (-2.388, -1.397], (-0.411, 0.575]] …
98 python  pandas 

9
นำเข้าไฟล์ CSV เป็น DataFrame แพนด้า
วิธี Python ในการอ่านไฟล์ CSV ในDataFrame ของแพนด้าคืออะไร (ซึ่งฉันสามารถใช้สำหรับการดำเนินการทางสถิติสามารถมีคอลัมน์ที่พิมพ์ต่างกันได้ ฯลฯ ) ไฟล์ CSV ของฉัน"value.txt"มีเนื้อหาดังต่อไปนี้: Date,"price","factor_1","factor_2" 2012-06-11,1600.20,1.255,1.548 2012-06-12,1610.02,1.258,1.554 2012-06-13,1618.07,1.249,1.552 2012-06-14,1624.40,1.253,1.556 2012-06-15,1626.15,1.258,1.552 2012-06-16,1626.15,1.263,1.558 2012-06-17,1626.15,1.264,1.572 ใน R เราจะอ่านไฟล์นี้โดยใช้: price <- read.csv("value.txt") และจะส่งคืน R data.frame: > price <- read.csv("value.txt") > price Date price factor_1 factor_2 1 2012-06-11 1600.20 1.255 1.548 2 2012-06-12 1610.02 1.258 1.554 3 …
98 python  pandas  csv  dataframe 

4
pandas dataframe group โดย datetime month
พิจารณาไฟล์ csv: string,date,number a string,2/5/11 9:16am,1.0 a string,3/5/11 10:44pm,2.0 a string,4/22/11 12:07pm,3.0 a string,4/22/11 12:10pm,4.0 a string,4/29/11 11:59am,1.0 a string,5/2/11 1:41pm,2.0 a string,5/2/11 2:02pm,3.0 a string,5/2/11 2:56pm,4.0 a string,5/2/11 3:00pm,5.0 a string,5/2/14 3:02pm,6.0 a string,5/2/14 3:18pm,7.0 ฉันสามารถอ่านสิ่งนี้ได้และฟอร์แมตคอลัมน์วันที่ใหม่เป็นรูปแบบวันที่และเวลา: b=pd.read_csv('b.dat') b['date']=pd.to_datetime(b['date'],format='%m/%d/%y %I:%M%p') ฉันพยายามจัดกลุ่มข้อมูลตามเดือน ดูเหมือนว่าควรมีวิธีที่ชัดเจนในการเข้าถึงเดือนและจัดกลุ่มตามนั้น แต่ดูเหมือนจะทำไม่ได้ ไม่มีใครรู้วิธี? สิ่งที่ฉันกำลังพยายามคือการจัดทำดัชนีใหม่ตามวันที่: b.index=b['date'] ฉันสามารถเข้าถึงเดือนได้ดังนี้: b.index.month อย่างไรก็ตามฉันไม่สามารถหาฟังก์ชั่นที่จะรวมกันเป็นรายเดือนได้

5
เพิ่มคอลัมน์ในดาต้าเฟรมจากรายการ
ฉันมี dataframe ที่มีบางคอลัมน์ดังนี้: A B C 0 4 5 6 7 7 6 5 ช่วงเป็นไปได้ของค่าในมีเพียง 0-7 นอกจากนี้ฉันมีรายการองค์ประกอบ 8 รายการดังนี้: List=[2,5,6,8,12,16,26,32] //There are only 8 elements in this list ถ้าองค์ประกอบในคอลัมน์ A เป็นnฉันต้องแทรกองค์ประกอบที่nจากรายการในคอลัมน์ใหม่โดยพูดว่า 'D' ฉันจะทำสิ่งนี้ในคราวเดียวโดยไม่วนซ้ำทั้งดาต้าเฟรมได้อย่างไร ดาต้าเฟรมที่ได้จะมีลักษณะดังนี้: A B C D 0 2 4 12 5 16 6 26 7 32 7 32 …

13
python-pandas และฐานข้อมูลเช่น mysql
เอกสารสำหรับ Pandas มีตัวอย่างแนวทางปฏิบัติที่ดีที่สุดมากมายสำหรับการทำงานกับข้อมูลที่จัดเก็บในรูปแบบต่างๆ อย่างไรก็ตามฉันไม่พบตัวอย่างที่ดีสำหรับการทำงานกับฐานข้อมูลเช่น MySQL เป็นต้น ใครสามารถชี้ฉันไปที่ลิงก์หรือให้ข้อมูลโค้ดเกี่ยวกับวิธีการแปลงผลลัพธ์การสืบค้นโดยใช้mysql-pythonเป็น data frames ใน Pandas ได้อย่างมีประสิทธิภาพ
97 python  pandas 

1
อาร์กิวเมนต์ 'ระดับ', 'คีย์' และชื่อสำหรับในฟังก์ชัน concat ของ Pandas คืออะไร
คำถาม ฉันจะใช้pd.concatอย่างไร? เป็นสิ่งที่levelsโต้แย้งหรือไม่? เป็นสิ่งที่keysโต้แย้งหรือไม่? มีตัวอย่างมากมายที่ช่วยอธิบายวิธีใช้อาร์กิวเมนต์ทั้งหมดหรือไม่? concatฟังก์ชั่นของ Pandas คือมีดของSwiss Armyของยูทิลิตี้ที่ผสานกัน ความหลากหลายของสถานการณ์ที่เป็นประโยชน์มีมากมาย เอกสารประกอบที่มีอยู่ให้รายละเอียดบางส่วนเกี่ยวกับอาร์กิวเมนต์ที่เป็นทางเลือกบางส่วน ในหมู่พวกเขามีข้อโต้แย้งlevelsและ keysฉันเริ่มคิดว่าข้อโต้แย้งเหล่านั้นทำอะไร ฉันจะก่อให้เกิดคำถามว่าจะทำหน้าที่เป็นประตูเข้ามาในหลาย ๆ pd.concatแง่มุมของ พิจารณากรอบข้อมูลd1, d2และd3: import pandas as pd d1 = pd.DataFrame(dict(A=.1, B=.2, C=.3), [2, 3]) d2 = pd.DataFrame(dict(B=.4, C=.5, D=.6), [1, 2]) d3 = pd.DataFrame(dict(A=.7, B=.8, D=.9), [1, 3]) ถ้าฉันจะเชื่อมต่อสิ่งเหล่านี้เข้าด้วยกัน pd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3']) …
97 python  pandas 

5
อะไรคือความแตกต่างระหว่าง NaN และ None?
ฉันกำลังอ่านสองคอลัมน์ของไฟล์ csv โดยใช้แพนด้าreadcsv()จากนั้นกำหนดค่าให้กับพจนานุกรม คอลัมน์ประกอบด้วยสตริงของตัวเลขและตัวอักษร ในบางครั้งมีกรณีที่เซลล์ว่างเปล่า ในความคิดของฉันค่าที่อ่านในรายการพจนานุกรมนั้นควรเป็นNoneแต่nanจะถูกกำหนดให้แทน แน่นอนว่าNoneมีความหมายมากกว่าเซลล์ว่างเนื่องจากมีค่า null ในขณะที่nanบอกว่าค่าที่อ่านไม่ใช่ตัวเลข ความเข้าใจของฉันถูกต้องหรือไม่อะไรคือความแตกต่างระหว่างNoneและnan? ทำไมจึงnanได้รับมอบหมายแทนNone? นอกจากนี้พจนานุกรมของฉันตรวจสอบเซลล์ว่างที่ใช้อยู่numpy.isnan(): for k, v in my_dict.iteritems(): if np.isnan(v): แต่นี่ทำให้ฉันมีข้อผิดพลาดที่บอกว่าฉันไม่สามารถใช้การตรวจสอบนี้vได้ ฉันเดาว่าเป็นเพราะตัวแปรจำนวนเต็มหรือทศนิยมไม่ใช่สตริงที่ควรใช้ หากเป็นจริงฉันจะตรวจสอบv"เซลล์ว่าง" / nanกรณีได้อย่างไร
97 python  numpy  pandas  nan 

3
Python Pandas แทนที่ NaN ในคอลัมน์เดียวด้วยค่าจากแถวที่สองของคอลัมน์ที่เกี่ยวข้อง
ฉันกำลังทำงานกับ Pandas DataFrame นี้ใน Python File heat Farheit Temp_Rating 1 YesQ 75 N/A 1 NoR 115 N/A 1 YesA 63 N/A 1 NoT 83 41 1 NoY 100 80 1 YesZ 56 12 2 YesQ 111 N/A 2 NoR 60 N/A 2 YesA 19 N/A 2 NoT 106 77 2 …

9
ย้ายคอลัมน์ตามชื่อไปด้านหน้าตารางในแพนด้า
นี่คือ df ของฉัน: Net Upper Lower Mid Zsore Answer option More than once a day 0% 0.22% -0.12% 2 65 Once a day 0% 0.32% -0.19% 3 45 Several times a week 2% 2.45% 1.10% 4 78 Once a week 1% 1.63% -0.40% 6 65 ฉันจะย้ายคอลัมน์โดยใช้ชื่อ ( "Mid") ไปที่ด้านหน้าของตารางดัชนี 0 …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.