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

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

9
วิธีบันทึกแผ่นงานใหม่ในไฟล์ excel ที่มีอยู่โดยใช้ Pandas
ฉันต้องการใช้ไฟล์ excel เพื่อจัดเก็บข้อมูลที่ซับซ้อนด้วย python ปัญหาของฉันคือฉันไม่สามารถเพิ่มชีตลงในไฟล์ excel ที่มีอยู่ได้ ที่นี่ฉันขอแนะนำให้ใช้โค้ดตัวอย่างเพื่อแก้ไขปัญหานี้ import pandas as pd import numpy as np path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx" x1 = np.random.randn(100, 2) df1 = pd.DataFrame(x1) x2 = np.random.randn(100, 2) df2 = pd.DataFrame(x2) writer = pd.ExcelWriter(path, engine = 'xlsxwriter') df1.to_excel(writer, sheet_name = 'x1') df2.to_excel(writer, sheet_name = 'x2') writer.save() writer.close() รหัสนี้จะบันทึก …

1
ใช้ฟังก์ชันกับ DataFrame แพนด้าที่จัดกลุ่มแบบขนานอย่างมีประสิทธิภาพ
ฉันมักจะต้องใช้ฟังก์ชันกับกลุ่มที่มีขนาดใหญ่มากDataFrame(ของประเภทข้อมูลผสม) และต้องการใช้ประโยชน์จากหลายคอร์ ฉันสามารถสร้างตัววนซ้ำจากกลุ่มและใช้โมดูลการประมวลผลหลายขั้นตอน แต่ไม่มีประสิทธิภาพเนื่องจากทุกกลุ่มและผลลัพธ์ของฟังก์ชันจะต้องถูกดองสำหรับการส่งข้อความระหว่างกระบวนการ มีวิธีใดบ้างที่จะหลีกเลี่ยงการดองหรือหลีกเลี่ยงการคัดลอกโดยDataFrameสิ้นเชิง? ดูเหมือนว่าฟังก์ชันหน่วยความจำแบบแบ่งใช้ของโมดูลมัลติโพรเซสซิ่งจะถูก จำกัด ไว้ที่numpyอาร์เรย์ มีทางเลือกอื่นอีกไหม?

13
การเปรียบเทียบสองดาต้าเฟรมและรับความแตกต่าง
ฉันมีสองดาต้าเฟรม ตัวอย่าง: df1: Date Fruit Num Color 2013-11-24 Banana 22.1 Yellow 2013-11-24 Orange 8.6 Orange 2013-11-24 Apple 7.6 Green 2013-11-24 Celery 10.2 Green df2: Date Fruit Num Color 2013-11-24 Banana 22.1 Yellow 2013-11-24 Orange 8.6 Orange 2013-11-24 Apple 7.6 Green 2013-11-24 Celery 10.2 Green 2013-11-25 Apple 22.1 Red 2013-11-25 Orange …

3
Pandas รวมตาม groupby แต่ไม่รวมบางคอลัมน์
วิธีใดเป็นวิธีที่ดีที่สุดในการทำ groupby บนดาต้าเฟรมของ Pandas แต่ไม่รวมคอลัมน์บางคอลัมน์จาก groupby นั้น เช่นฉันมี dataframe ต่อไปนี้: Code Country Item_Code Item Ele_Code Unit Y1961 Y1962 Y1963 2 Afghanistan 15 Wheat 5312 Ha 10 20 30 2 Afghanistan 25 Maize 5312 Ha 10 20 30 4 Angola 15 Wheat 7312 Ha 30 40 50 4 Angola 25 Maize …

6
จะเพิ่มคำต่อท้าย (หรือคำนำหน้า) ให้กับชื่อคอลัมน์แต่ละคอลัมน์ได้อย่างไร?
ฉันต้องการเพิ่ม_xคำต่อท้ายให้กับชื่อคอลัมน์แต่ละคอลัมน์ดังนี้: featuresA = myPandasDataFrame.columns.values + '_x' ฉันต้องทำอย่างไร นอกจากนี้หากฉันต้องการเพิ่มx_เป็นคำต่อท้ายวิธีแก้ไขจะเปลี่ยนไปอย่างไร

7
ความแตกต่างระหว่าง merge () และ concat () ในแพนด้า
อะไรคือความแตกต่างที่สำคัญระหว่างpd.DataFrame.merge()และpd.concat()? จนถึงตอนนี้นี่คือสิ่งที่ฉันพบโปรดแสดงความคิดเห็นว่าความเข้าใจของฉันสมบูรณ์และถูกต้องเพียงใด: .merge()สามารถใช้ได้เฉพาะคอลัมน์ (บวกดัชนีแถว) และเหมาะสำหรับการดำเนินการในรูปแบบฐานข้อมูล .concat()สามารถใช้ได้กับแกนใดแกนหนึ่งโดยใช้เฉพาะดัชนีและมีตัวเลือกในการเพิ่มดัชนีตามลำดับชั้น อนึ่งสิ่งนี้ทำให้เกิดความซ้ำซ้อนดังต่อไปนี้: ทั้งสองสามารถรวมสอง dataframes โดยใช้ดัชนีแถว pd.DataFrame.join() เพียงเสนอชวเลขสำหรับบางกรณีการใช้งานของ .merge() (หมีแพนด้าเก่งมากในการจัดการกรณีการใช้งานที่หลากหลายในการวิเคราะห์ข้อมูลอาจเป็นเรื่องที่น่ากังวลเล็กน้อยในการสำรวจเอกสารเพื่อหาวิธีที่ดีที่สุดในการทำงานบางอย่าง)
89 python  pandas  join  merge  concat 

5
สร้างแผนภูมิมากกว่าหนึ่งแผนภูมิในเซลล์ IPython Notebook เดียวกัน
ฉันได้เริ่มต้น IPython Notebook ของฉันด้วย ipython notebook --pylab inline นี่คือรหัสของฉันในเซลล์เดียว df['korisnika'].plot() df['osiguranika'].plot() มันใช้งานได้ดีมันจะวาดสองเส้น แต่อยู่ในแผนภูมิเดียวกัน ฉันต้องการวาดแต่ละเส้นในแผนภูมิแยกกัน และจะดีมากถ้าชาร์ตจะอยู่ติดกันไม่ใช่ติดกัน ฉันรู้ว่าฉันสามารถใส่บรรทัดที่สองในเซลล์ถัดไปจากนั้นฉันจะได้สองแผนภูมิ แต่ฉันต้องการให้แผนภูมิอยู่ใกล้กันเพราะมันแสดงถึงหน่วยตรรกะเดียวกัน

1
ใช้ฟังก์ชันกับแต่ละเซลล์ใน DataFrame
ฉันมี dataframe ที่อาจมีลักษณะดังนี้: A B C foo bar foo bar bar foo foo bar ฉันต้องการดูทุกองค์ประกอบของแต่ละแถว (หรือทุกองค์ประกอบของแต่ละคอลัมน์) และใช้ฟังก์ชันต่อไปนี้เพื่อรับ DF ที่ตามมา: def foo_bar(x): return x.replace('foo', 'wow') A B C wow bar wow bar bar wow wow bar มีหนึ่งซับง่ายๆที่สามารถใช้ฟังก์ชันกับแต่ละเซลล์ได้หรือไม่? นี่เป็นตัวอย่างที่เรียบง่ายดังนั้นอาจมีวิธีที่ง่ายกว่าในการดำเนินการตัวอย่างนี้นอกเหนือจากการใช้ฟังก์ชัน แต่สิ่งที่ฉันถามจริงๆคือวิธีการใช้ฟังก์ชันในทุกเซลล์ภายในดาต้าเฟรม

1
Multi Index Sorting ใน Pandas
ฉันมีชุดข้อมูลที่มีคอลัมน์หลายดัชนีในแพนด้า df ที่ฉันต้องการจัดเรียงตามค่าในคอลัมน์เฉพาะ ฉันได้ลองใช้ sortindex และ sortlevel แล้ว แต่ไม่สามารถรับผลลัพธ์ที่ฉันต้องการได้ ชุดข้อมูลของฉันดูเหมือนว่า: Group1 Group2 A B C A B C 1 1 0 3 2 5 7 2 5 6 9 1 0 0 3 7 0 2 0 3 5 ฉันต้องการจัดเรียงข้อมูลทั้งหมดและดัชนีตามคอลัมน์ C ในกลุ่ม 1 ในลำดับจากมากไปหาน้อยเพื่อให้ผลลัพธ์ของฉันมีลักษณะดังนี้: Group1 Group2 A B C A …

3
แยกวันจากค่า numpy.timedelta64
ฉันใช้แพนด้า / python และฉันมีอนุกรมเวลาสองวันที่ s1 และ s2 ซึ่งสร้างขึ้นโดยใช้ฟังก์ชัน 'to_datetime' บนฟิลด์ของ df ที่มีวันที่ / เวลา เมื่อฉันลบ s1 จาก s2 s3 = s2 - s1 ฉันได้รับซีรีส์ s3 ประเภท timedelta64 [ns] 0 385 days, 04:10:36 1 57 days, 22:54:00 2 642 days, 21:15:23 3 615 days, 00:55:44 4 160 days, 22:13:35 5 196 …
87 python  numpy  pandas 

1
Pandas timeseries พล็อตการตั้งค่าแกน x เห็บและป้ายกำกับหลักและรอง
ฉันต้องการตั้งค่า xticks หลักและรองและป้ายกำกับสำหรับกราฟอนุกรมเวลาที่พล็อตจากวัตถุอนุกรมเวลาของ Pandas หน้า 0.9 "มีอะไรใหม่" ของ Pandas ระบุว่า: "คุณสามารถใช้ to_pydatetime หรือลงทะเบียนตัวแปลงสำหรับประเภท Timestamp" แต่ฉันไม่สามารถหาวิธีทำได้เพื่อให้ฉันสามารถใช้คำสั่งmatplotlib ax.xaxis.set_major_locatorและax.xaxis.set_major_formatter(และรอง) ได้ ถ้าฉันใช้มันโดยไม่แปลงเวลาแพนด้าแกน x ขีดและป้ายกำกับจะผิด ด้วยการใช้พารามิเตอร์ 'xticks' ฉันสามารถส่งเห็บหลักไปยัง pandas.plot จากนั้นตั้งค่าป้ายกำกับหลัก ฉันไม่สามารถหาวิธีทำเห็บรองโดยใช้วิธีนี้ได้ (ฉันสามารถตั้งค่าป้ายกำกับบนเครื่องหมายขีดเล็กเริ่มต้นที่กำหนดโดย pandas.plot) นี่คือรหัสทดสอบของฉัน: import pandas print 'pandas.__version__ is ', pandas.__version__ print 'matplotlib.__version__ is ', matplotlib.__version__ dStart = datetime.datetime(2011,5,1) # 1 May dEnd = datetime.datetime(2011,7,1) …

6
แพนด้า: ตัวกรองที่ซับซ้อนในแถวของ DataFrame
ฉันต้องการกรองแถวตามฟังก์ชันของแต่ละแถวเช่น def f(row): return sin(row['velocity'])/np.prod(['masses']) > 5 df = pandas.DataFrame(...) filtered = df[apply_to_all_rows(df, f)] หรือสำหรับตัวอย่างอื่นที่ซับซ้อนกว่าที่สร้างขึ้น def g(row): if row['col1'].method1() == 1: val = row['col1'].method2() / row['col1'].method3(row['col3'], row['col4']) else: val = row['col2'].method5(row['col6']) return np.sin(val) df = pandas.DataFrame(...) filtered = df[apply_to_all_rows(df, g)] ฉันจะทำเช่นนั้นได้อย่างไร?
87 python  pandas 

8
นุ่น: ค่าเฉลี่ยการหมุนตามช่วงเวลา
ฉันยังใหม่กับนุ่น .... ฉันมีข้อมูลการสำรวจมากมาย ฉันต้องการคำนวณค่าเฉลี่ยแบบหมุนเพื่อรับค่าประมาณสำหรับแต่ละวันตามกรอบเวลาสามวัน ตามที่ฉันเข้าใจจากคำถามนี้ฟังก์ชัน rolling_ * จะคำนวณหน้าต่างตามจำนวนค่าที่ระบุไม่ใช่ช่วงวันที่และเวลาที่เฉพาะเจาะจง มีฟังก์ชันอื่นที่ใช้กับฟังก์ชันนี้หรือไม่? หรือฉันติดอยู่กับการเขียนของตัวเอง? แก้ไข: ข้อมูลอินพุตตัวอย่าง: polls_subset.tail(20) Out[185]: favorable unfavorable other enddate 2012-10-25 0.48 0.49 0.03 2012-10-25 0.51 0.48 0.02 2012-10-27 0.51 0.47 0.02 2012-10-26 0.56 0.40 0.04 2012-10-28 0.48 0.49 0.04 2012-10-28 0.46 0.46 0.09 2012-10-28 0.48 0.49 0.03 2012-10-28 0.49 0.48 0.03 …

2
วิธีตั้งค่า xlim และ ylim ใน Seaborn lmplot facetgrid
ฉันใช้ lmplot ของ Seaborn ในการพล็อตการถดถอยเชิงเส้นโดยแบ่งชุดข้อมูลของฉันออกเป็นสองกลุ่มด้วยตัวแปรเด็ดขาด สำหรับทั้ง x และ y ฉันต้องการตั้งค่าขอบเขตล่างของทั้งสองแปลงด้วยตนเองแต่ปล่อยขอบเขตบนไว้ที่ค่าเริ่มต้นของ Seaborn นี่คือตัวอย่างง่ายๆ: import pandas as pd import seaborn as sns import random n = 200 random.seed(2014) base_x = [random.random() for i in range(n)] base_y = [2*i for i in base_x] errors = [random.uniform(0,1) for i in range(n)] y = [i+j …
87 python  pandas  seaborn 

13
ValueError: numpy.dtype มีขนาดไม่ถูกต้องลองคอมไพล์ใหม่
ฉันเพิ่งติดตั้งแพกเกจแพนด้าและ statsmodels ใน python 2.7 เมื่อฉันลอง "นำเข้าแพนด้าเป็น pd" ข้อความแสดงข้อผิดพลาดนี้ปรากฏขึ้น ใครสามารถช่วย? ขอบคุณ !!! numpy.dtype has the wrong size, try recompiling Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\formula\__init__.py", line 4, in <module> from formulatools import handle_formula_data File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\formula\formulatools.p y", line 1, in <module> import statsmodels.tools.data as …

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