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

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

10
แปลงลอยเป็น ints ใน Pandas หรือไม่
ฉันทำงานกับข้อมูลที่นำเข้าจาก CSV นุ่นเปลี่ยนบางคอลัมน์ให้ลอยดังนั้นตอนนี้ตัวเลขในคอลัมน์เหล่านี้จะแสดงเป็นจุดลอยตัว! อย่างไรก็ตามฉันต้องการให้แสดงเป็นจำนวนเต็มหรือไม่มีเครื่องหมายจุลภาค มีวิธีการแปลงเป็นจำนวนเต็มหรือไม่แสดงเครื่องหมายจุลภาคหรือไม่

5
ฉันจะรับตรรกะที่ไม่ได้เป็นองค์ประกอบของซีรี่ส์หมีแพนด้าได้อย่างไร
ฉันมีSeriesวัตถุหมีแพนด้าที่มีค่าบูลีน ฉันจะหาชุดที่มีค่าตรรกะNOTของแต่ละค่าได้อย่างไร ตัวอย่างเช่นพิจารณาชุดที่มี: True True True False ชุดที่ฉันต้องการได้รับประกอบด้วย: False False False True ดูเหมือนว่ามันควรจะง่ายพอสมควร แต่ดูเหมือนฉันจะใส่ Mojo ผิด =

12
pandas รับแถวที่ไม่ได้อยู่ใน dataframe อื่น
ฉันมีกรอบข้อมูลแพนด้าสองตัวที่มีบางแถวเหมือนกัน สมมติว่า dataframe2 เป็นชุดย่อยของ dataframe1 ฉันจะได้แถวของ dataframe1 ที่ไม่ได้อยู่ใน dataframe2 ได้อย่างไร? df1 = pandas.DataFrame(data = {'col1' : [1, 2, 3, 4, 5], 'col2' : [10, 11, 12, 13, 14]}) df2 = pandas.DataFrame(data = {'col1' : [1, 2, 3], 'col2' : [10, 11, 12]})
229 python  pandas  dataframe 

19
ทำให้คอลัมน์ของกรอบข้อมูลนุ่นเป็นปกติ
ฉันมี dataframe ใน pandas ที่แต่ละคอลัมน์มีช่วงค่าที่แตกต่างกัน ตัวอย่างเช่น: DF: A B C 1000 10 0.5 765 5 0.35 800 7 0.09 ความคิดใดที่ฉันสามารถทำให้คอลัมน์ปกติของ dataframe นี้มีค่าแต่ละค่าอยู่ระหว่าง 0 ถึง 1 ผลลัพธ์ที่ฉันต้องการคือ: A B C 1 1 1 0.765 0.5 0.7 0.8 0.7 0.18(which is 0.09/0.5)

5
วิธีทำตัวอย่างแพนด้าที่ทำซ้ำได้ดี
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ต้องใช้เวลาพอสมควรในการดูทั้งสอง R และ หมีแพนด้าแท็กใน SO การแสดงผลที่ฉันได้รับคือpandasคำถามมีโอกาสน้อยที่จะมีข้อมูลที่ทำซ้ำได้ นี่คือบางสิ่งที่ชุมชน R ได้รับการสนับสนุนค่อนข้างดีและด้วยคำแนะนำเช่นนี้ผู้มาใหม่ก็สามารถได้รับความช่วยเหลือในการรวบรวมตัวอย่างเหล่านี้ ผู้ที่สามารถอ่านคำแนะนำเหล่านี้และกลับมาพร้อมข้อมูลที่ทำซ้ำได้มักจะมีโชคที่ดีกว่ามากในการตอบคำถามของพวกเขา เราจะสร้างตัวอย่างที่ทำซ้ำได้ดีสำหรับpandasคำถามได้อย่างไร ดาต้าเฟรมง่าย ๆ สามารถรวมกันได้เช่น: import pandas as pd df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 'income': [40000, 50000, 42000]}) แต่ชุดข้อมูลตัวอย่างจำนวนมากต้องการโครงสร้างที่ซับซ้อนมากขึ้นเช่น: datetime ดัชนีหรือข้อมูล ตัวแปรเด็ดขาดหลายตัว (มีexpand.grid()ฟังก์ชั่นเทียบเท่ากับ R ซึ่งสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดหรือไม่) ข้อมูล MultiIndex หรือ Panel สำหรับชุดข้อมูลที่ยากต่อการลอกเลียนแบบโดยใช้โค้ดสองสามบรรทัดจะมีค่าเทียบเท่ากับ R's dput()ที่อนุญาตให้คุณสร้างโค้ดที่คัดลอกได้เพื่อสร้างโครงสร้างข้อมูลใหม่หรือไม่
221 python  pandas 

6
ใช้ฟังก์ชั่นหลายกับคอลัมน์หลายกลุ่มโดย
เอกสารแสดงวิธีการใช้ฟังก์ชั่นหลายคนบนวัตถุ GroupBy ในเวลาใช้ Dict ที่มีชื่อคอลัมน์ออกเป็นกุญแจ: In [563]: grouped['D'].agg({'result1' : np.sum, .....: 'result2' : np.mean}) .....: Out[563]: result2 result1 A bar -0.579846 -1.739537 foo -0.280588 -1.402938 อย่างไรก็ตามสิ่งนี้ใช้ได้กับวัตถุ Groupby ซีรีย์เท่านั้น และเมื่อ dict ถูกส่งผ่านไปยัง groupby DataFrame ในทำนองเดียวกันก็คาดว่าคีย์จะเป็นชื่อคอลัมน์ที่ฟังก์ชั่นจะถูกนำไปใช้ สิ่งที่ฉันต้องการทำคือใช้หลายฟังก์ชั่นกับหลายคอลัมน์ (แต่คอลัมน์บางคอลัมน์จะทำงานหลายครั้ง) นอกจากนี้บางฟังก์ชั่นจะขึ้นอยู่กับคอลัมน์อื่น ๆ ในวัตถุ groupby (เช่นฟังก์ชัน sumif) ทางออกปัจจุบันของฉันคือไปทีละคอลัมน์และทำบางอย่างเช่นโค้ดด้านบนโดยใช้ lambdas สำหรับฟังก์ชั่นที่ขึ้นอยู่กับแถวอื่น ๆ แต่มันใช้เวลานาน (ฉันคิดว่ามันต้องใช้เวลานานกว่าจะย้ำผ่านวัตถุกลุ่มโดย) ฉันจะต้องเปลี่ยนมันเพื่อที่ฉันจะวนซ้ำไปตามวัตถุทั้งหมดของกลุ่มในการวิ่งครั้งเดียว แต่ฉันสงสัยว่าถ้ามีแพนด้าในตัวเพื่อทำสิ่งนี้ค่อนข้างเรียบร้อย …

11
แยกเฉพาะเดือนและปีแยกจากคอลัมน์ Pandas Datetime
ฉันมี Dataframe, df โดยมีคอลัมน์ต่อไปนี้: df['ArrivalDate'] = ... 936 2012-12-31 938 2012-12-29 965 2012-12-31 966 2012-12-31 967 2012-12-31 968 2012-12-31 969 2012-12-31 970 2012-12-29 971 2012-12-31 972 2012-12-29 973 2012-12-29 ... องค์ประกอบของคอลัมน์คือ pandas.tslib.Timestamp ฉันต้องการที่จะรวมปีและเดือน ฉันคิดว่าจะมีวิธีง่าย ๆ ในการทำ แต่ฉันไม่สามารถเข้าใจได้ นี่คือสิ่งที่ฉันได้ลอง: df['ArrivalDate'].resample('M', how = 'mean') ฉันได้รับข้อผิดพลาดต่อไปนี้: Only valid with DatetimeIndex or PeriodIndex จากนั้นฉันก็ลอง: …
221 python  pandas 

7
กำลังลดค่าอนันต์จากดาต้าเฟรมในนุ่น?
วิธีที่เร็วที่สุด / ง่ายที่สุดในการปล่อยค่า nan และ inf / -inf จาก DataFrame แพนด้าโดยไม่ต้องรีเซ็ตmode.use_inf_as_nullคืออะไร ฉันต้องการใช้subsetและhowข้อโต้แย้งของdropnaยกเว้นinfค่าที่ถือว่าหายไปเช่น: df.dropna(subset=["col1", "col2"], how="all", with_inf=True) เป็นไปได้ไหม มีวิธีบอกdropnaให้รวมinfไว้ในนิยามของค่าที่หายไปหรือไม่?
220 python  numpy  scipy  pandas 

6
รับดัชนีคอลัมน์จากชื่อคอลัมน์ใน python python
ใน R เมื่อคุณต้องการดึงดัชนีคอลัมน์ตามชื่อของคอลัมน์ที่คุณสามารถทำได้ idx <- which(names(my_data)==my_colum_name) มีวิธีการทำเช่นเดียวกันกับดาต้าดาต้าแพนด้า


20
การเข้ารหัสเลเบลในหลายคอลัมน์ใน scikit-Learn
ฉันกำลังพยายามใช้ scikit-Learn LabelEncoderเพื่อเข้ารหัส pandas DataFrameของสตริงฉลาก เนื่องจาก dataframe มีหลายคอลัมน์ (50+) ฉันต้องการหลีกเลี่ยงการสร้างLabelEncoderวัตถุสำหรับแต่ละคอลัมน์ ฉันต้องการมีLabelEncoderวัตถุขนาดใหญ่เพียงชิ้นเดียวที่ทำงานในคอลัมน์ข้อมูลทั้งหมดของฉัน การขว้างทั้งหมดDataFrameเป็นLabelEncoderข้อผิดพลาดด้านล่าง โปรดจำไว้ว่าฉันกำลังใช้ข้อมูลจำลองที่นี่ ในความเป็นจริงฉันกำลังจัดการกับข้อมูลของสตริงที่มีป้ายกำกับประมาณ 50 คอลัมน์ดังนั้นต้องการโซลูชันที่ไม่อ้างอิงคอลัมน์ใด ๆ ตามชื่อ import pandas from sklearn import preprocessing df = pandas.DataFrame({ 'pets': ['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'], 'owner': ['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'], 'location': ['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego', 'New_York'] }) le …

13
ใช้ฟังก์ชัน pandas กับคอลัมน์เพื่อสร้างคอลัมน์ใหม่หลายรายการหรือไม่
วิธีทำในแพนด้า: ฉันมีฟังก์ชั่นextract_text_featuresในคอลัมน์ข้อความเดียวกลับคอลัมน์หลายคอลัมน์ ฟังก์ชันส่งคืนค่า 6 ค่าโดยเฉพาะ ฟังก์ชั่นใช้งานได้ แต่ดูเหมือนจะไม่มีประเภทการส่งคืนที่เหมาะสม (pandas DataFrame / numpy array / รายการ Python) เพื่อให้เอาต์พุตสามารถกำหนดได้อย่างถูกต้อง df.ix[: ,10:16] = df.textcol.map(extract_text_features) ดังนั้นฉันคิดว่าฉันต้องถอยกลับไปทำซ้ำด้วยdf.iterrows()เช่นนี้ ? UPDATE: การวนซ้ำด้วยdf.iterrows()ช้ากว่าอย่างน้อย 20x ดังนั้นฉันจึงยอมจำนนและแยกฟังก์ชั่นออกเป็นหก.map(lambda ...)สายที่แตกต่างกัน UPDATE 2: คำถามนี้ถูกถามกลับรอบv0.11.0 ดังนั้นคำถามและคำตอบส่วนใหญ่จึงไม่เกี่ยวข้องเกินไป

8
อัปเดต dataframe ในนุ่นขณะทำซ้ำทีละแถว
ฉันมีกรอบข้อมูลแพนด้าที่มีลักษณะเช่นนี้ (มันค่อนข้างใหญ่) date exer exp ifor mat 1092 2014-03-17 American M 528.205 2014-04-19 1093 2014-03-17 American M 528.205 2014-04-19 1094 2014-03-17 American M 528.205 2014-04-19 1095 2014-03-17 American M 528.205 2014-04-19 1096 2014-03-17 American M 528.205 2014-05-17 ตอนนี้ฉันต้องการวนซ้ำทีละแถวและเมื่อฉันผ่านแต่ละแถวค่าของifor ในแต่ละแถวสามารถเปลี่ยนแปลงได้ขึ้นอยู่กับเงื่อนไขบางอย่างและฉันต้องการค้นหา dataframe อื่น ตอนนี้ฉันจะอัปเดตสิ่งนี้อย่างไรเมื่อฉันย้ำ พยายามบางสิ่งที่พวกเขาไม่ได้ทำงาน for i, row in df.iterrows(): if <something>: …

5
วิธีการแสดงข้อมูล dataframe แบบเต็ม (ที่ไม่ถูกตัดทอน) เป็น html เมื่อทำการแปลงจาก pandas dataframe เป็น html
ฉันแปลง dataframe ของ pandas เป็น html output โดยใช้DataFrame.to_htmlฟังก์ชัน เมื่อฉันบันทึกสิ่งนี้ลงในไฟล์ html แยกต่างหากไฟล์จะแสดงเอาต์พุตที่ถูกตัดทอน ตัวอย่างเช่นในคอลัมน์ TEXT ของฉัน df.head(1) จะแสดง ภาพยนตร์เรื่องนี้เป็นความพยายามที่ยอดเยี่ยม ... แทน ภาพยนตร์เรื่องนี้เป็นความพยายามอย่างยอดเยี่ยมในการแยกแยะความเชื่อมั่นทางสังคมที่ซับซ้อนที่เกิดขึ้นในช่วงเวลานี้ การเรนเดอร์นี้ทำได้ดีในกรณีที่เป็นรูปแบบที่เป็นมิตรกับหน้าจอของดาต้าดาต้าขนาดใหญ่ของแพนด้า แต่ฉันต้องการไฟล์ html ที่จะแสดงข้อมูลแบบตารางทั้งหมดที่มีอยู่ในดาต้าเฟรมนั่นคือสิ่งที่จะแสดงองค์ประกอบข้อความหลัง ข้อมูลโค้ดเดิม ฉันจะสามารถแสดงข้อมูลข้อความที่สมบูรณ์และไม่ถูกตัดทอนสำหรับแต่ละองค์ประกอบในคอลัมน์ TEXT ของฉันในข้อมูลรุ่น html ได้อย่างไร ฉันคิดว่าตาราง html จะต้องแสดงเซลล์ที่ยาวเพื่อแสดงข้อมูลทั้งหมด แต่เท่าที่ฉันเข้าใจมีเพียงพารามิเตอร์กว้างคอลัมน์เท่านั้นที่สามารถส่งผ่านไปยังDataFrame.to_htmlฟังก์ชันได้
213 python  html  pandas 

3
ต่อท้าย DataFrame เปล่าใน Pandas?
เป็นไปได้หรือไม่ที่จะผนวกกับกรอบข้อมูลเปล่าที่ไม่มีดัชนีหรือคอลัมน์ใด ๆ ? ฉันพยายามทำเช่นนี้ แต่ได้รับ dataframe ที่ว่างเปล่าในตอนท้าย เช่น df = pd.DataFrame() data = ['some kind of data here' --> I have checked the type already, and it is a dataframe] df.append(data) ผลลัพธ์จะเป็นดังนี้: Empty DataFrame Columns: [] Index: []
212 python  pandas 

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