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

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

10
วิธีการเลือกแถวจาก DataFrame ตามค่าคอลัมน์?
จะเลือกแถวจากDataFrameค่าในคอลัมน์ใน Python Pandas ได้อย่างไร? ใน SQL ฉันจะใช้: SELECT * FROM table WHERE colume_name = some_value ฉันพยายามดูเอกสารของแพนด้า แต่ไม่พบคำตอบในทันที
1956 python  pandas  dataframe 

22
จะวนซ้ำแถวใน DataFrame ใน Pandas ได้อย่างไร?
ฉันมีDataFrameจากนุ่น: import pandas as pd inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}] df = pd.DataFrame(inp) print df เอาท์พุท: c1 c2 0 10 100 1 11 110 2 12 120 ตอนนี้ฉันต้องการวนซ้ำแถวของเฟรมนี้ สำหรับทุกแถวฉันต้องการเข้าถึงองค์ประกอบ (ค่าในเซลล์) ด้วยชื่อของคอลัมน์ ตัวอย่างเช่น: for row in df.rows: print row['c1'], row['c2'] เป็นไปได้ไหมที่จะทำเช่นนั้นในแพนด้า ฉันพบคำถามที่คล้ายกันนี้ แต่มันไม่ได้ให้คำตอบที่ฉันต้องการ ตัวอย่างเช่นแนะนำให้ใช้: for date, row in df.T.iteritems(): หรือ …
1948 python  pandas  rows  dataframe 

26
การเปลี่ยนชื่อคอลัมน์ในนุ่น
ฉันมี DataFrame โดยใช้ pandas และเลเบลคอลัมน์ที่ฉันต้องการแก้ไขเพื่อแทนที่เลเบลคอลัมน์เดิม ฉันต้องการเปลี่ยนชื่อคอลัมน์ใน DataFrame Aโดยที่ชื่อคอลัมน์เดิมคือ: ['$a', '$b', '$c', '$d', '$e'] ถึง ['a', 'b', 'c', 'd', 'e']. ฉันมีชื่อคอลัมน์ที่ถูกแก้ไขเก็บไว้ในรายการ แต่ฉันไม่ทราบวิธีการแทนที่ชื่อคอลัมน์

15
ลบคอลัมน์ออกจาก DataFrame แพนด้า
เมื่อลบคอลัมน์ใน DataFrame ฉันใช้: del df['column_name'] และใช้งานได้ดี ทำไมฉันไม่สามารถใช้สิ่งต่อไปนี้ del df.column_name เนื่องจากเป็นไปได้ที่จะเข้าถึงคอลัมน์ / ซีรี่ส์ในขณะที่df.column_nameฉันคาดว่าสิ่งนี้จะทำงาน
1327 python  pandas  dataframe 

17
การเลือกหลายคอลัมน์ใน dataframe แพนด้า
ฉันมีข้อมูลในคอลัมน์ต่าง ๆ แต่ฉันไม่รู้วิธีแยกเพื่อบันทึกในตัวแปรอื่น index a b c 1 2 3 4 2 3 4 5 ฉันจะเลือกวิธี'a', 'b'และบันทึกไว้ในการ DF1? ฉันเหนื่อย df1 = df['a':'b'] df1 = df.ix[:, 'a':'b'] ดูเหมือนจะไม่มีใครทำงาน
1110 python  pandas  dataframe  select 

19
รับรายการจากหัวคอลัมน์ DataFrame แพนด้า
ฉันต้องการรับรายการส่วนหัวคอลัมน์จาก DataFrame แพนด้า DataFrame จะมาจากการป้อนข้อมูลของผู้ใช้ดังนั้นฉันจะไม่ทราบจำนวนคอลัมน์ที่จะมีหรือสิ่งที่พวกเขาจะถูกเรียก ตัวอย่างเช่นถ้าฉันได้รับ DataFrame เช่นนี้: >>> my_dataframe y gdp cap 0 1 2 5 1 2 3 9 2 8 7 2 3 3 4 7 4 6 7 7 5 4 8 3 6 8 2 8 7 9 9 10 8 6 6 4 9 …
1013 python  pandas  dataframe 

16
กระแสงาน“ ข้อมูลขนาดใหญ่” โดยใช้แพนด้า
ฉันพยายามไขปริศนาคำตอบสำหรับคำถามนี้เป็นเวลาหลายเดือนในขณะที่เรียนรู้แพนด้า ฉันใช้ SAS สำหรับงานประจำวันของฉันและมันยอดเยี่ยมสำหรับการสนับสนุนนอกหลัก อย่างไรก็ตาม SAS นั้นน่ากลัวเหมือนชิ้นส่วนของซอฟต์แวร์ด้วยเหตุผลอื่น ๆ อีกมากมาย วันหนึ่งฉันหวังว่าจะเปลี่ยนการใช้ SAS ของฉันเป็น python และ pandas แต่ตอนนี้ฉันขาดเวิร์กโฟลว์นอกหลักสำหรับชุดข้อมูลขนาดใหญ่ ฉันไม่ได้พูดถึง "ข้อมูลขนาดใหญ่" ที่ต้องใช้เครือข่ายแบบกระจาย แต่ไฟล์ใหญ่เกินไปที่จะใส่ในหน่วยความจำ แต่เล็กพอที่จะใส่ลงในฮาร์ดไดรฟ์ ความคิดแรกของฉันคือการใช้HDFStoreเพื่อเก็บชุดข้อมูลขนาดใหญ่บนดิสก์และดึงเฉพาะส่วนที่ฉันต้องการลงใน dataframes สำหรับการวิเคราะห์ คนอื่น ๆ พูดถึง MongoDB ว่าเป็นทางเลือกที่ใช้งานง่ายกว่า คำถามของฉันคือ: ขั้นตอนการปฏิบัติที่ดีที่สุดสำหรับการทำสิ่งต่อไปนี้คืออะไร: การโหลดไฟล์แฟล็ตไปยังโครงสร้างฐานข้อมูลถาวรบนดิสก์ การสืบค้นฐานข้อมูลนั้นเพื่อดึงข้อมูลไปยังฟีดลงในโครงสร้างข้อมูลแพนด้า การอัพเดตฐานข้อมูลหลังจากจัดการกับชิ้นส่วนในนุ่น ตัวอย่างในโลกแห่งความเป็นจริงจะได้รับการชื่นชมอย่างมากโดยเฉพาะจากใครก็ตามที่ใช้หมีแพนด้ากับ "ข้อมูลขนาดใหญ่" แก้ไข - ตัวอย่างของวิธีที่ฉันต้องการให้ทำงาน: ทำซ้ำนำเข้าไฟล์แฟล็ตขนาดใหญ่และเก็บไว้ในโครงสร้างฐานข้อมูลถาวรบนดิสก์ โดยทั่วไปไฟล์เหล่านี้ใหญ่เกินไปที่จะใส่ในหน่วยความจำ ในการใช้ Pandas ฉันต้องการอ่านชุดย่อยของข้อมูลนี้ (โดยปกติจะมีคอลัมน์ไม่กี่คอลัมน์ในเวลาเดียวกัน) ที่สามารถใส่ในหน่วยความจำได้ ฉันจะสร้างคอลัมน์ใหม่โดยดำเนินการต่าง ๆ ในคอลัมน์ที่เลือก ฉันจะต้องผนวกคอลัมน์ใหม่เหล่านี้ลงในโครงสร้างฐานข้อมูล …

23
การเพิ่มคอลัมน์ใหม่ไปยัง DataFrame ที่มีอยู่ใน Python python
ฉันมี DataFrame ที่มีการทำดัชนีต่อไปนี้ซึ่งมีชื่อคอลัมน์และแถวไม่ใช่ตัวเลขต่อเนื่อง: a b c d 2 0.671399 0.101208 -0.181532 0.241273 3 0.446172 -0.243316 0.051767 1.577318 5 0.614758 0.075793 -0.451460 -0.012493 ฉันต้องการเพิ่มคอลัมน์ใหม่'e'ลงในกรอบข้อมูลที่มีอยู่และไม่ต้องการเปลี่ยนแปลงอะไรในกรอบข้อมูล (เช่นคอลัมน์ใหม่จะมีความยาวเท่ากับ DataFrame เสมอ) 0 -0.335485 1 -1.166658 2 -0.385571 dtype: float64 ฉันจะเพิ่มคอลัมน์eลงในตัวอย่างด้านบนได้อย่างไร

14
ฉันจะรับจำนวนแถวของ DataFrame แพนด้าได้อย่างไร
ฉันพยายามรับจำนวนแถวของ dataframe df ด้วย Pandas และนี่คือรหัสของฉัน วิธีที่ 1: total_rows = df.count print total_rows +1 วิธีที่ 2: total_rows = df['First_columnn_label'].count print total_rows +1 ตัวอย่างโค้ดทั้งสองให้ข้อผิดพลาดนี้กับฉัน: TypeError: ประเภทของตัวถูกดำเนินการที่ไม่รองรับสำหรับ +: 'อินสแตนซ์เมธอด' และ 'int' ผมทำอะไรผิดหรือเปล่า?
931 python  pandas  dataframe 

30
วิธีการเปลี่ยนลำดับของคอลัมน์ DataFrame
ฉันมีดังต่อไปนี้DataFrame( df): import numpy as np import pandas as pd df = pd.DataFrame(np.random.rand(10, 5)) ฉันเพิ่มคอลัมน์เพิ่มเติมโดยการมอบหมาย: df['mean'] = df.mean(1) ฉันจะย้ายคอลัมน์meanไปไว้ด้านหน้าได้เช่นตั้งเป็นคอลัมน์แรกโดยไม่เรียงลำดับของคอลัมน์อื่น ๆ
877 python  pandas  dataframe 

25
เพิ่มหนึ่งแถวใน DataFrame แพนด้า
ผมเข้าใจว่าหมีแพนด้าถูกออกแบบมาเพื่อโหลดประชากรอย่างเต็มที่DataFrameแต่ฉันจำเป็นต้องสร้าง DataFrame ว่างแล้วเพิ่มแถวหนึ่งโดยหนึ่ง วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? ฉันสร้าง DataFrame ที่ว่างเปล่าเรียบร้อยแล้วด้วย: res = DataFrame(columns=('lib', 'qty1', 'qty2')) จากนั้นฉันสามารถเพิ่มแถวใหม่และกรอกข้อมูลด้วย: res = res.set_value(len(res), 'qty1', 10.0) มันใช้งานได้ แต่ดูเหมือนแปลกมาก: - / (มันล้มเหลวในการเพิ่มค่าสตริง) ฉันจะเพิ่มแถวใหม่ใน DataFrame ของฉัน (ด้วยคอลัมน์ประเภทอื่น) ได้อย่างไร

9
เปลี่ยนชนิดข้อมูลของคอลัมน์ใน Pandas
Pandas DataFrameฉันต้องการที่จะแปลงตารางแสดงเป็นรายการของรายการที่เป็น ในฐานะที่เป็นตัวอย่างที่ง่ายมาก: a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']] df = pd.DataFrame(a) วิธีที่ดีที่สุดในการแปลงคอลัมน์เป็นประเภทที่เหมาะสมคืออะไรในกรณีนี้คอลัมน์ 2 และ 3 เป็นแบบลอย มีวิธีระบุชนิดขณะแปลงเป็น DataFrame หรือไม่ หรือจะเป็นการดีกว่าถ้าสร้าง DataFrame ก่อนจากนั้นวนรอบคอลัมน์เพื่อเปลี่ยนชนิดของแต่ละคอลัมน์ โดยหลักการแล้วฉันต้องการทำสิ่งนี้แบบไดนามิกเพราะอาจมีหลายร้อยคอลัมน์และฉันไม่ต้องการระบุว่าคอลัมน์ใดเป็นประเภทใด ทั้งหมดที่ฉันรับประกันได้คือแต่ละคอลัมน์มีค่าประเภทเดียวกัน

13
วิธีการวางแถวของ Pandas DataFrame ที่มีค่าในคอลัมน์หนึ่งคือ NaN
ฉันมีสิ่งนี้DataFrameและต้องการเฉพาะระเบียนที่ไม่มีEPSคอลัมน์NaN: >>> df STK_ID EPS cash STK_ID RPT_Date 601166 20111231 601166 NaN NaN 600036 20111231 600036 NaN 12 600016 20111231 600016 4.3 NaN 601009 20111231 601009 NaN NaN 601939 20111231 601939 2.5 NaN 000001 20111231 000001 NaN NaN ... คือบางสิ่งบางอย่างที่ต้องการdf.drop(....)รับข้อมูลชื่อนี้: STK_ID EPS cash STK_ID RPT_Date 600016 20111231 600016 4.3 NaN …
753 python  pandas  dataframe  nan 

7
การเขียน DataFrame นุ่นเป็นไฟล์ CSV
ฉันมี dataframe เป็นหมีแพนด้าซึ่งฉันต้องการจะเขียนไปยังไฟล์ CSV ฉันกำลังทำสิ่งนี้โดยใช้: df.to_csv('out.csv') และได้รับข้อผิดพลาด: UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128) มีวิธีใดบ้างที่จะหลีกเลี่ยงสิ่งนี้ได้อย่างง่ายดาย (เช่นฉันมีอักขระ Unicode ในกรอบข้อมูลของฉัน)? และมีวิธีการเขียนไปยังไฟล์ที่คั่นด้วยแท็บแทนการใช้ CSV เช่นวิธีการ 'to-tab' (ที่ฉันไม่คิดว่ามีอยู่)?
714 python  csv  pandas  dataframe 

8
แปลงรายการพจนานุกรมเป็น DataFrame แพนด้า
ฉันมีรายการพจนานุกรมเช่นนี้: [{'points': 50, 'time': '5:00', 'year': 2010}, {'points': 25, 'time': '6:00', 'month': "february"}, {'points':90, 'time': '9:00', 'month': 'january'}, {'points_h1':20, 'month': 'june'}] และฉันต้องการเปลี่ยนให้เป็นหมีแพนด้าDataFrameเช่นนี้: month points points_h1 time year 0 NaN 50 NaN 5:00 2010 1 february 25 NaN 6:00 NaN 2 january 90 NaN 9:00 NaN 3 june NaN 20 NaN …

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