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

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

5
นำหน้าระดับไปยัง MultiIndex ของแพนด้า
ฉันมี DataFrame ที่มี MultiIndex ที่สร้างขึ้นหลังจากการจัดกลุ่ม: import numpy as np import pandas as p from numpy.random import randn df = p.DataFrame({ 'A' : ['a1', 'a1', 'a2', 'a3'] , 'B' : ['b1', 'b2', 'b3', 'b4'] , 'Vals' : randn(4) }).groupby(['A', 'B']).sum() df Output> Vals Output> A B Output> a1 b1 -1.632460 Output> …
111 python  pandas 

7
ทำให้ Pandas DataFrame ใช้ () ใช้คอร์ทั้งหมดหรือไม่
เมื่อวันที่สิงหาคม 2017, นุ่นDataFame.apply ()เป็นที่น่าเสียดายที่ยังมีข้อ จำกัด ในการทำงานร่วมกับแกนเดียวหมายความว่าเครื่องแบบ multi-core df.apply(myfunc, axis=1)จะเสียส่วนใหญ่ของการคำนวณเวลาเมื่อคุณเรียกใช้ คุณจะใช้คอร์ทั้งหมดของคุณเพื่อรันใช้กับดาต้าเฟรมแบบขนานได้อย่างไร
111 pandas  dask 

13
มีวิธีปรับความกว้างคอลัมน์ Excel โดยอัตโนมัติด้วย pandas.ExcelWriter หรือไม่?
ฉันถูกขอให้สร้างรายงาน Excel ตอนนี้ฉันใช้แพนด้าค่อนข้างหนักสำหรับข้อมูลของฉันดังนั้นฉันจึงอยากใช้เมธอดของแพนด้าเอ็กเซลวอเตอร์เพื่อสร้างรายงานเหล่านี้ อย่างไรก็ตามความกว้างของคอลัมน์คงที่เป็นปัญหา รหัสที่ฉันมีนั้นง่ายพอ สมมติว่าฉันมี dataframe ชื่อ 'df': writer = pd.ExcelWriter(excel_file_path, engine='openpyxl') df.to_excel(writer, sheet_name="Summary") ฉันกำลังดูรหัสแพนด้าและฉันไม่เห็นตัวเลือกใด ๆ ในการตั้งค่าความกว้างของคอลัมน์ มีเคล็ดลับในจักรวาลเพื่อให้คอลัมน์ปรับข้อมูลโดยอัตโนมัติหรือไม่? หรือมีบางอย่างที่ฉันสามารถทำได้หลังจากข้อเท็จจริงกับไฟล์ xlsx เพื่อปรับความกว้างของคอลัมน์ (ฉันใช้ไลบรารี OpenPyXL และสร้างไฟล์. xlsx - หากสิ่งนั้นสร้างความแตกต่าง) ขอขอบคุณ.
111 python  excel  pandas  openpyxl 

5
Python Pandas ผสานเฉพาะบางคอลัมน์
เป็นไปได้ไหมที่จะรวมบางคอลัมน์เท่านั้น ฉันมี DataFrame df1 ที่มีคอลัมน์ x, y, z และ df2 ที่มีคอลัมน์ x, a, b, c, d, e, f ฯลฯ ฉันต้องการผสานสอง DataFrames บน x แต่ฉันต้องการผสานคอลัมน์ df2.a, df2.b เท่านั้นไม่ใช่ทั้ง DataFrame ผลลัพธ์จะเป็น DataFrame ที่มี x, y, z, a, b ฉันสามารถผสานแล้วลบคอลัมน์ที่ไม่ต้องการได้ แต่ดูเหมือนว่าจะมีวิธีที่ดีกว่านี้
110 python  merge  pandas 

6
จะ "เลือกเฉพาะ" ในคอลัมน์กรอบข้อมูลหลายคอลัมน์ในแพนด้าได้อย่างไร
ฉันกำลังมองหาวิธีทำเทียบเท่ากับ SQL SELECT DISTINCT col1, col2 FROM dataframe_table การเปรียบเทียบ sql ของแพนด้าไม่มีอะไรเกี่ยวกับdistinct. .unique() ใช้ได้กับคอลัมน์เดียวเท่านั้นดังนั้นฉันคิดว่าฉันสามารถต่อคอลัมน์หรือวางไว้ในรายการ / ทูเพิลและเปรียบเทียบแบบนั้น แต่ดูเหมือนว่าแพนด้าควรทำในลักษณะที่เป็นธรรมชาติมากกว่า ฉันพลาดอะไรบางอย่างที่ชัดเจนหรือไม่มีทางทำเช่นนี้?
110 python  pandas 

13
วางแถวด้วยเลขศูนย์ทั้งหมดในกรอบข้อมูลแพนด้า
ฉันสามารถใช้pandas dropna()ฟังก์ชันเพื่อลบแถวที่มีคอลัมน์บางคอลัมน์หรือทั้งหมดตั้งค่าเป็นNA's มีฟังก์ชันเทียบเท่าสำหรับการวางแถวที่คอลัมน์ทั้งหมดมีค่า 0 หรือไม่ P kt b tt mky depth 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5 1.1 3 4.5 2.3 9.0 ในตัวอย่างนี้เราต้องการวาง 4 แถวแรกจากกรอบข้อมูล ขอบคุณ!
110 python  pandas 

8
เปรียบเทียบสองคอลัมน์โดยใช้แพนด้า
โดยใช้สิ่งนี้เป็นจุดเริ่มต้น: a = [['10', '1.2', '4.2'], ['15', '70', '0.03'], ['8', '5', '0']] df = pd.DataFrame(a, columns=['one', 'two', 'three']) Out[8]: one two three 0 10 1.2 4.2 1 15 70 0.03 2 8 5 0 ฉันต้องการใช้ifคำสั่งในแพนด้า if df['one'] >= df['two'] and df['one'] <= df['three']: df['que'] = df['one'] โดยทั่วไปตรวจสอบแต่ละแถวผ่านifคำสั่งสร้างคอลัมน์ใหม่ เอกสารบอกใช้.allแต่ไม่มีตัวอย่าง ...

1
กลยุทธ์การทดสอบวิธีการ Pandas read_xml ()
ปัจจุบันเครื่องมือ I / O ของแพนด้าไม่ได้คงไว้ซึ่งread_xml()วิธีการและคู่to_xml()กัน อย่างไรก็ตามการread_jsonพิสูจน์โครงสร้างที่เหมือนต้นไม้สามารถนำไปใช้สำหรับการนำเข้าดาต้าเฟรมและread_htmlสำหรับรูปแบบมาร์กอัป ถ้าทีมหมีแพนด้าไม่พิจารณาดังกล่าวเป็นread_xmlวิธีการสำหรับรุ่นหมีแพนด้าในอนาคตสิ่งที่พวกเขาจะดำเนินการติดตาม: แยกที่มีในตัวxml.etree.ElementTreeด้วยiterfind()หรือiterparse()ฟังก์ชั่นหรือโมดูลของบุคคลที่สามที่lxmlมี XPath ของ 1.0 และ 1.0 XSLT วิธี? ด้านล่างนี้คือการทดสอบของฉันสำหรับวิธีการสี่ประเภทบนอินพุต XML ที่เรียบง่ายแบนองค์ประกอบเป็นศูนย์กลาง ทั้งหมดถูกตั้งค่าสำหรับการแยกวิเคราะห์ทั่วไปสำหรับลูกระดับที่สองของรูทและแต่ละวิธีควรให้ดาต้าเฟรมของแพนด้าที่เหมือนกันทุกประการ ทั้งหมดยกเว้นการโทรครั้งสุดท้ายpd.Dataframe()ในรายการพจนานุกรม วิธี XSLT แปลง XML เพื่อ CSV สำหรับหล่อในStringIO()pd.read_csv() คำถาม (หลายส่วน) ประสิทธิภาพ: คุณจะอธิบายได้อย่างไรว่าiterparseไฟล์ที่มีขนาดใหญ่กว่ามักจะอธิบายได้ช้ากว่าเนื่องจากไฟล์ถูกแยกวิเคราะห์ซ้ำ ๆ ส่วนหนึ่งมาจากการifตรวจสอบตรรกะหรือไม่? หน่วยความจำ: หน่วยความจำ CPU สัมพันธ์กับการกำหนดเวลาในการเรียก I / O หรือไม่ XSLT และ XPath 1.0 มีแนวโน้มที่จะปรับขนาดได้ไม่ดีกับเอกสาร XML ที่มีขนาดใหญ่เนื่องจากไฟล์ทั้งหมดจะต้องอ่านในหน่วยความจำเพื่อแยกวิเคราะห์ กลยุทธ์: รายการพจนานุกรมเป็นกลยุทธ์ที่ดีที่สุดสำหรับการDataframe()โทรหรือไม่? …
109 python  xml  pandas  xslt  xpath 

5
อ่านไฟล์ซิปเป็น DataFrame แพนด้า
ฉันกำลังพยายามคลายซิปไฟล์ csv และส่งไปยังแพนด้าเพื่อที่ฉันจะได้ทำงานกับไฟล์นั้น รหัสที่ฉันได้ลองแล้วคือ: import requests, zipfile, StringIO r = requests.get('http://data.octo.dc.gov/feeds/crime_incidents/archive/crime_incidents_2013_CSV.zip') z = zipfile.ZipFile(StringIO.StringIO(r.content)) crime2013 = pandas.read_csv(z.read('crime_incidents_2013_CSV.csv')) หลังจากบรรทัดสุดท้ายแม้ว่า python จะสามารถรับไฟล์ได้ แต่ฉันได้รับข้อความ "ไม่มีอยู่จริง" ในตอนท้ายของข้อผิดพลาด ใครช่วยบอกทีว่าฉันทำอะไรไม่ถูกต้อง?
109 python  zip  pandas 

6
การแปลง SQLAlchemy ORM เป็น DataFrame แพนด้า
หัวข้อนี้ไม่ได้รับการแก้ไขมาสักระยะหนึ่งแล้วที่นี่หรือที่อื่น ๆ มีวิธีแก้ปัญหาในการแปลง SQLAlchemy <Query object>เป็น DataFrame แพนด้าหรือไม่? Pandas มีความสามารถในการใช้งานpandas.read_sqlแต่ต้องใช้ Raw SQL ฉันมีเหตุผลสองประการที่ต้องการหลีกเลี่ยง: 1) ฉันมีทุกอย่างแล้วโดยใช้ ORM (เหตุผลที่ดีในตัวของมันเอง) และ 2) ฉันใช้รายการไพ ธ อนเป็นส่วนหนึ่งของแบบสอบถาม (เช่นคลาสโมเดลของฉันอยู่.db.session.query(Item).filter(Item.symbol.in_(add_symbols)ที่ไหนItemและadd_symbolsเป็นรายการ). SELECT ... from ... WHERE ... INนี่คือเทียบเท่าของ SQL เป็นไปได้หรือไม่

5
แยกค่าคอลัมน์ตามดาต้าเฟรมแพนด้าของคอลัมน์อื่น
ฉันติดอยู่กับการแยกค่าของการปรับสภาพตัวแปรหนึ่งในตัวแปรอื่น ตัวอย่างเช่น dataframe ต่อไปนี้: A B p1 1 p1 2 p3 3 p2 4 ฉันจะได้รับมูลค่าAเมื่อไหร่B=3? ทุกครั้งที่ฉันแยกค่าของAฉันได้วัตถุไม่ใช่สตริง
109 python  pandas  dataframe 

11
ผลิตภัณฑ์คาร์ทีเซียนในหมีแพนด้า
ฉันมีดาต้าเฟรมของแพนด้าสองตัว: from pandas import DataFrame df1 = DataFrame({'col1':[1,2],'col2':[3,4]}) df2 = DataFrame({'col3':[5,6]}) แนวทางปฏิบัติที่ดีที่สุดในการรับผลิตภัณฑ์คาร์ทีเซียนคืออะไร (แน่นอนว่าไม่ต้องเขียนให้ชัดเจนเหมือนฉัน) #df1, df2 cartesian product df_cartesian = DataFrame({'col1':[1,2,1,2],'col2':[3,4,3,4],'col3':[5,5,6,6]})
109 python  pandas 

4
เปลี่ยนค่าหนึ่งตามค่าอื่นในแพนด้า
ฉันพยายามตั้งโปรแกรมรหัส Stata ของฉันใหม่ใน Python เพื่อปรับปรุงความเร็วและฉันถูกชี้ไปในทิศทางของ PANDAS อย่างไรก็ตามฉันมีช่วงเวลาที่ยากลำบากในการคิดวิธีประมวลผลข้อมูล สมมติว่าฉันต้องการวนซ้ำค่าทั้งหมดในหัวคอลัมน์ 'ID' หาก ID นั้นตรงกับตัวเลขที่ระบุฉันต้องการเปลี่ยนค่าที่ตรงกันสองค่า FirstName และ LastName ใน Stata มีลักษณะดังนี้: replace FirstName = "Matt" if ID==103 replace LastName = "Jones" if ID==103 ดังนั้นสิ่งนี้จะแทนที่ค่าทั้งหมดใน FirstName ที่สอดคล้องกับค่า ID == 103 ถึง Matt ในแพนดาสฉันกำลังลองอะไรแบบนี้ df = read_csv("test.csv") for i in df['ID']: if i ==103: ... …
109 python  pandas 

5
ผนวกคอลัมน์เข้ากับฐานข้อมูลแพนด้า
อาจเป็นเรื่องง่าย แต่ฉันมีข้อมูลต่อไปนี้: ในกรอบข้อมูล 1: index dat1 0 9 1 5 ในกรอบข้อมูล 2: index dat2 0 7 1 6 ฉันต้องการกรอบข้อมูลที่มีรูปแบบต่อไปนี้: index dat1 dat2 0 9 7 1 5 6 ฉันได้ลองใช้appendวิธีนี้แล้ว แต่ฉันได้รับ cross join (เช่นผลิตภัณฑ์คาร์ทีเซียน) วิธีที่ถูกต้องคืออะไร?
109 python  pandas 


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