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

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

14
pandas: กรองแถวของ DataFrame ด้วยการโยงผู้ปฏิบัติงาน
การดำเนินงานมากที่สุดในpandasสามารถทำได้กับผู้ประกอบการผูกมัด ( groupby, aggregate, applyฯลฯ ) แต่วิธีเดียวที่ฉันได้พบกับแถวที่กรองผ่านการจัดทำดัชนีวงเล็บปกติ df_filtered = df[df['column'] == value] สิ่งนี้ไม่น่าสนใจเนื่องจากฉันต้องกำหนดให้dfกับตัวแปรก่อนที่จะสามารถกรองค่าได้ มีอะไรมากกว่านี้อีกไหม? df_filtered = df.mask(lambda x: x['column'] == value)
329 python  pandas  dataframe 

17
Pandas - วิธีการทำให้ดัชนีลำดับขั้นในคอลัมน์แบนเรียบ
ฉันมีกรอบข้อมูลที่มีดัชนีลำดับชั้นในแกน 1 (คอลัมน์) (จากการgroupby.aggดำเนินการ): USAF WBAN year month day s_PC s_CL s_CD s_CNT tempf sum sum sum sum amax amin 0 702730 26451 1993 1 1 1 0 12 13 30.92 24.98 1 702730 26451 1993 1 2 0 0 13 13 32.00 24.98 2 702730 26451 1993 1 3 …
325 python  pandas  dataframe 

23
ฉันจะสร้างตัวอย่างการทดสอบและฝึกอบรมตัวอย่างจากดาต้าเฟรมที่มีแพนด้าได้อย่างไร
ฉันมีชุดข้อมูลที่มีขนาดใหญ่พอสมควรในรูปแบบของ dataframe และฉันสงสัยว่าฉันจะสามารถแยก dataframe ออกเป็นสองตัวอย่างแบบสุ่ม (80% และ 20%) สำหรับการฝึกอบรมและการทดสอบได้อย่างไร ขอบคุณ!

7
Pandas read_csv low_memory และ dtype ตัวเลือก
เมื่อโทรมา df = pd.read_csv('somefile.csv') ฉันเข้าใจ: /Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/pandas/io/parsers.py:1130: DtypeWarning: คอลัมน์ (4,5,7,16) มีประเภทผสม ระบุตัวเลือก dtype ในการนำเข้าหรือตั้งค่า low_memory = False ทำไมdtypeตัวเลือกถึงเกี่ยวข้องlow_memoryและเหตุใดจึงทำให้Falseเกิดปัญหานี้

10
ทำการแมปค่าใหม่ในคอลัมน์หมีแพนด้าด้วย dict
ฉันมีพจนานุกรมที่มีลักษณะเช่นนี้: di = {1: "A", 2: "B"} ฉันต้องการใช้กับคอลัมน์ "col1" ของ dataframe ที่คล้ายกับ: col1 col2 0 w a 1 1 2 2 2 NaN ที่จะได้รับ: col1 col2 0 w a 1 A 2 2 B NaN ฉันจะทำสิ่งนี้ให้ดีที่สุดได้อย่างไร ด้วยเหตุผลบางอย่างของคำค้นหาของ Google ที่เกี่ยวข้องกับสิ่งนี้แสดงให้ฉันเห็นเฉพาะลิงก์เกี่ยวกับวิธีสร้างคอลัมน์จาก dicts และในทางกลับกัน: - /

11
วิธีการเก็บดาต้าเฟรมโดยใช้ Pandas
ตอนนี้ฉันกำลังนำเข้าไฟล์ข้อมูลขนาดใหญ่พอสมควรCSVทุกครั้งที่เรียกใช้สคริปต์ มีวิธีแก้ปัญหาที่ดีในการทำให้ดาต้าเฟรมนั้นมีให้ใช้อย่างต่อเนื่องในระหว่างรันดังนั้นฉันไม่ต้องเสียเวลารอให้สคริปต์รันหรือไม่?
317 python  pandas  dataframe 

5
นุ่นสร้างคอลัมน์ใหม่ขึ้นอยู่กับค่าจากคอลัมน์อื่น ๆ / ใช้ฟังก์ชั่นของหลาย ๆ คอลัมน์แถวฉลาด
ฉันต้องการที่จะใช้ฟังก์ชั่นที่กำหนดเองของฉัน (จะใช้บันไดถ้า-อื่น) เหล่านี้หกคอลัมน์ ( ERI_Hispanic, ERI_AmerInd_AKNatv, ERI_Asian, ERI_Black_Afr.Amer, ERI_HI_PacIsl, ERI_White) ในแถวของ dataframe ของฉันในแต่ละ ฉันลองใช้วิธีการที่แตกต่างจากคำถามอื่น ๆ แต่ก็ยังหาคำตอบที่เหมาะสมสำหรับปัญหาของฉันไม่ได้ สิ่งสำคัญของเรื่องนี้คือถ้าบุคคลนั้นถูกนับว่าเป็นฮิสแปนิกพวกเขาจะไม่สามารถถูกนับเป็นสิ่งอื่นได้ แม้ว่าพวกเขาจะมี "1" ในคอลัมน์เชื้อชาติอื่นพวกเขายังคงถูกนับว่าเป็นฮิสแปนิกไม่ใช่สองเผ่าพันธุ์หรือมากกว่า ในทำนองเดียวกันหากผลรวมของคอลัมน์ ERI ทั้งหมดมากกว่า 1 พวกเขาจะถูกนับเป็นสองเชื้อชาติหรือมากกว่าและไม่สามารถนับได้ว่าเป็นเชื้อชาติที่ไม่ซ้ำกัน (ยกเว้นฮิสแปนิก) หวังว่านี่จะสมเหตุสมผล ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก มันเกือบจะเหมือนกับการทำลูปผ่านแต่ละแถวและถ้าแต่ละเรคคอร์ดตรงตามเกณฑ์พวกมันจะถูกเพิ่มเข้าไปในรายการเดียวและตัดออกจากต้นฉบับ จาก dataframe ด้านล่างฉันจำเป็นต้องคำนวณคอลัมน์ใหม่ตามข้อมูลจำเพาะต่อไปนี้ใน SQL: ========================= เกณฑ์การตัดสิน ======================== ======= IF [ERI_Hispanic] = 1 THEN RETURN “Hispanic” ELSE IF SUM([ERI_AmerInd_AKNatv] + …
316 python  pandas  numpy  apply 

8
การสร้างหมีแพนด้าแบบมีเงื่อนไขของคอลัมน์ series / dataframe
ฉันมีชื่อไฟล์ตามบรรทัดด้านล่าง: Type Set 1 A Z 2 B Z 3 B X 4 C Y ฉันต้องการเพิ่มคอลัมน์อีกคอลัมน์หนึ่งลงใน dataframe (หรือสร้างชุดข้อมูล) ที่มีความยาวเท่ากับ dataframe (= จำนวนระเบียน / แถวเท่ากัน) ซึ่งตั้งค่าสีเขียวถ้า Set = 'Z' และ 'red' ถ้า Set = เป็นอย่างอื่น . วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?


6
ลบแถวออกจาก DataFrame แพนด้าตามนิพจน์เงื่อนไขที่เกี่ยวข้องกับ len (สตริง) ที่ให้ KeyError
ฉันมี DataFrame แพนด้าและฉันต้องการลบแถวจากที่ซึ่งความยาวของสตริงในคอลัมน์ใดคอลัมน์หนึ่งมีค่ามากกว่า 2 ฉันคาดว่าจะสามารถทำเช่นนี้ (ต่อคำตอบนี้ ): df[(len(df['column name']) < 2)] แต่ฉันเพิ่งได้รับข้อผิดพลาด: KeyError: u'no item named False' ผมทำอะไรผิดหรือเปล่า? (หมายเหตุ: ฉันรู้ว่าฉันสามารถใช้df.dropna()เพื่อกำจัดแถวที่มีNaNแต่ฉันไม่เห็นวิธีการลบแถวตามนิพจน์เงื่อนไข)
303 python  pandas 

7
Pandas - รับค่าแถวแรกของคอลัมน์ที่กำหนด
ดูเหมือนว่าเป็นคำถามง่าย ๆ ที่น่าขัน แต่ฉันไม่เห็นคำตอบง่ายๆที่ฉันคาดหวัง ดังนั้นฉันจะรับค่าที่แถวที่ n ของคอลัมน์ที่ระบุใน Pandas ได้อย่างไร (ฉันสนใจเป็นพิเศษในแถวแรก แต่จะสนใจในการปฏิบัติทั่วไปมากขึ้นเช่นกัน) ตัวอย่างเช่นสมมติว่าฉันต้องการดึงค่า 1.2 ใน Btime เป็นตัวแปร วิธีที่เหมาะสมในการทำเช่นนี้คืออะไร? df_test = ATime X Y Z Btime C D E 0 1.2 2 15 2 1.2 12 25 12 1 1.4 3 12 1 1.3 13 22 11 2 1.5 1 10 6 …
301 python  pandas  indexing  head 

15
แปลง Pict dict เป็น dataframe
ฉันมีพจนานุกรม Python ดังนี้: {u'2012-06-08': 388, u'2012-06-09': 388, u'2012-06-10': 388, u'2012-06-11': 389, u'2012-06-12': 389, u'2012-06-13': 389, u'2012-06-14': 389, u'2012-06-15': 389, u'2012-06-16': 389, u'2012-06-17': 389, u'2012-06-18': 390, u'2012-06-19': 390, u'2012-06-20': 390, u'2012-06-21': 390, u'2012-06-22': 390, u'2012-06-23': 390, u'2012-06-24': 390, u'2012-06-25': 391, u'2012-06-26': 391, u'2012-06-27': 391, u'2012-06-28': 391, u'2012-06-29': 391, u'2012-06-30': 391, u'2012-07-01': …
299 python  pandas  dataframe 


12
การแปลงระหว่างวันที่และเวลา Timestamp และวันที่และเวลา 64
ฉันจะแปลงnumpy.datetime64วัตถุเป็นdatetime.datetime(หรือTimestamp) ได้อย่างไร ในรหัสต่อไปนี้ฉันสร้างวัตถุวันที่และเวลาการบันทึกเวลาและวันที่ 64 import datetime import numpy as np import pandas as pd dt = datetime.datetime(2012, 5, 1) # A strange way to extract a Timestamp object, there's surely a better way? ts = pd.DatetimeIndex([dt])[0] dt64 = np.datetime64(dt) In [7]: dt Out[7]: datetime.datetime(2012, 5, 1, 0, 0) In [8]: …
292 python  datetime  numpy  pandas 

8
นับแพนด้า (แตกต่างกัน) เทียบเท่า
ฉันใช้แพนด้าเป็นตัวแทนที่ฐานข้อมูลเนื่องจากมีหลายฐานข้อมูล (oracle, mssql และอื่น ๆ ) และฉันไม่สามารถสร้างลำดับของคำสั่งให้เทียบเท่ากับ SQL ได้ ฉันมีตารางที่โหลดใน DataFrame ด้วยบางคอลัมน์: YEARMONTH, CLIENTCODE, SIZE, .... etc etc ใน SQL เพื่อนับจำนวนลูกค้าที่แตกต่างกันต่อปีจะเป็น: SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH; และผลก็จะเป็น 201301 5000 201302 13245 ฉันจะทำเช่นนั้นในหมีแพนด้าได้อย่างไร

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