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

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

5
การเลือกคอลัมน์แพนด้าตามสถานที่
ฉันแค่พยายามเข้าถึงคอลัมน์แพนด้าที่ตั้งชื่อด้วยจำนวนเต็ม df.ix[3]คุณสามารถเลือกแถวตามสถานที่ที่ใช้ แต่จะเลือกคอลัมน์ตามจำนวนเต็มได้อย่างไร? ดาต้าเฟรมของฉัน: df=pandas.DataFrame({'a':np.random.rand(5), 'b':np.random.rand(5)})
106 python  pandas  indexing 

2
คอลัมน์ Binning ที่มีแพนด้าหลาม
ฉันมีคอลัมน์ Data Frame ที่มีค่าตัวเลข: df['percentage'].head() 46.5 44.2 100.0 42.12 ฉันต้องการเห็นคอลัมน์เป็นจำนวนถังขยะ: bins = [0, 1, 5, 10, 25, 50, 100] ฉันจะได้ผลลัพธ์เป็นถังขยะพร้อมกับมันได้value countsอย่างไร? [0, 1] bin amount [1, 5] etc [5, 10] etc ......

9
กำหนดลำดับของคอลัมน์ในดาต้าเฟรมของแพนด้า
มีวิธีจัดเรียงคอลัมน์ใหม่ในดาต้าเฟรมของแพนด้าตามความต้องการส่วนตัวของฉันหรือไม่ (เช่นไม่เรียงตามตัวอักษรหรือตัวเลข แต่เหมือนกับการทำตามอนุสัญญาบางอย่าง) ตัวอย่างง่ายๆ: frame = pd.DataFrame({ 'one thing':[1,2,3,4], 'second thing':[0.1,0.2,1,2], 'other thing':['a','e','i','o']}) สร้างสิ่งนี้: one thing other thing second thing 0 1 a 0.1 1 2 e 0.2 2 3 i 1.0 3 4 o 2.0 แต่ฉันต้องการสิ่งนี้แทน: one thing second thing other thing 0 1 0.1 a 1 2 0.2 …
105 python  pandas 

5
ฉันจะสร้างส่วนหัวคอลัมน์ดาต้าเฟรมของแพนด้าตัวพิมพ์เล็กทั้งหมดได้อย่างไร
ฉันต้องการสร้างส่วนหัวคอลัมน์ทั้งหมดในกรอบข้อมูลแพนด้าของฉันตัวพิมพ์เล็ก ตัวอย่าง ถ้าฉันมี: data = country country isocode year XRAT tcgdp 0 Canada CAN 2001 1.54876 924909.44207 1 Canada CAN 2002 1.56932 957299.91586 2 Canada CAN 2003 1.40105 1016902.00180 .... ฉันต้องการเปลี่ยน XRAT เป็น xrat โดยทำสิ่งที่ต้องการ: data.headers.lowercase() เพื่อให้ฉันได้รับ: country country isocode year xrat tcgdp 0 Canada CAN 2001 1.54876 924909.44207 1 …
105 python  pandas  dataframe 

6
ฉันจะกรองบรรทัดเมื่อโหลดในฟังก์ชัน Pandas read_csv ได้อย่างไร
ฉันจะกรองบรรทัดของ CSV ที่จะโหลดลงในหน่วยความจำโดยใช้แพนด้าได้อย่างไร ดูเหมือนว่าเป็นตัวเลือกที่ควรหาread_csvนี้ดูเหมือนว่าตัวเลือกที่หนึ่งควรหาในฉันพลาดอะไรไปรึเปล่า? ตัวอย่าง: เรามี CSV พร้อมคอลัมน์การประทับเวลาและเราต้องการโหลดเฉพาะบรรทัดที่มีการประทับเวลามากกว่าค่าคงที่ที่กำหนด
105 python  pandas 

2
จะเลือกแถวด้วย NaN ในคอลัมน์เฉพาะได้อย่างไร?
ด้วยดาต้าเฟรมนี้จะเลือกเฉพาะแถวที่มี "Col2" เท่ากับได้NaNอย่างไร In [56]: df = pd.DataFrame([range(3), [0, np.NaN, 0], [0, 0, np.NaN], range(3), range(3)], columns=["Col1", "Col2", "Col3"]) In [57]: df Out[57]: 0 1 2 0 0 1 2 1 0 NaN 0 2 0 0 NaN 3 0 1 2 4 0 1 2 ผลลัพธ์ควรเป็นสิ่งนี้: Out[57]: 0 1 …
105 python  pandas 

8
วิธีการเลือกแถวใน DataFrame ระหว่างสองค่าใน Python Pandas
ฉันกำลังพยายามแก้ไข DataFrame dfให้มีเฉพาะแถวที่ค่าในคอลัมน์closing_priceอยู่ระหว่าง 99 ถึง 101 และพยายามดำเนินการกับโค้ดด้านล่าง อย่างไรก็ตามฉันได้รับข้อผิดพลาด ValueError: ค่าความจริงของซีรี่ส์มีความคลุมเครือ ใช้ a.empty, a.bool (), a.item (), a.any () หรือ a.all () และฉันสงสัยว่ามีวิธีทำโดยไม่ใช้ลูปหรือไม่ df = df[(99 <= df['closing_price'] <= 101)]
105 python  pandas 

7
ในสมุดบันทึก Ipython / Jupyter Pandas ไม่แสดงกราฟที่ฉันพยายามจะลงจุด
ฉันกำลังพยายามพล็อตข้อมูลโดยใช้แพนด้าใน Ipython Notebook และในขณะที่มันให้วัตถุแก่ฉัน แต่มันก็ไม่ได้พล็อตกราฟเอง จึงมีลักษณะดังนี้: In [7]: pledge.Amount.plot() Out[7]: <matplotlib.axes.AxesSubplot at 0x9397c6c> กราฟควรเป็นไปตามนั้น แต่ก็ไม่ปรากฏขึ้น ฉันได้นำเข้า matplotlib แล้วนั่นไม่ใช่ปัญหา มีโมดูลอื่นที่ฉันต้องนำเข้าหรือไม่?

3
วิธีรับค่าจาก Pandas DataFrame ไม่ใช่ดัชนีและประเภทวัตถุ
สมมติว่าฉันมี DataFrame ต่อไปนี้ เลขตัวอักษร ก 1 B 2 ค 3 ง 4 ซึ่งสามารถรับได้จากรหัสต่อไปนี้ import pandas as pd letters=pd.Series(('A', 'B', 'C', 'D')) numbers=pd.Series((1, 2, 3, 4)) keys=('Letters', 'Numbers') df=pd.concat((letters, numbers), axis=1, keys=keys) ตอนนี้ฉันต้องการรับค่า C จากคอลัมน์ Letters บรรทัดคำสั่ง df[df.Letters=='C'].Letters จะกลับมา 2 ค ชื่อ: ตัวอักษร dtype: object ฉันจะรับเฉพาะค่า C เท่านั้นไม่ใช่เอาต์พุตทั้งสองบรรทัดได้อย่างไร
104 python  pandas  dataframe 

7
วิธีตั้งค่าเซลล์เป็น NaN ในดาต้าเฟรมแพนด้า
ฉันต้องการแทนที่ค่าที่ไม่ถูกต้องในคอลัมน์ของดาต้าเฟรมโดย NaN mydata = {'x' : [10, 50, 18, 32, 47, 20], 'y' : ['12', '11', 'N/A', '13', '15', 'N/A']} df = pd.DataFrame(mydata) df[df.y == 'N/A']['y'] = np.nan แม้ว่าบรรทัดสุดท้ายจะล้มเหลวและส่งคำเตือนเนื่องจากทำงานกับสำเนา df แล้วอะไรคือวิธีจัดการที่ถูกต้อง? ฉันเคยเห็นวิธีแก้ปัญหามากมายที่มี iloc หรือ ix แต่ที่นี่ฉันต้องใช้เงื่อนไขบูลีน
104 python  pandas  nan 

8
พล็อตสีที่แตกต่างกันสำหรับระดับหมวดหมู่ต่างๆโดยใช้ matplotlib
ฉันมีกรอบข้อมูลนี้diamondsซึ่งประกอบด้วยตัวแปรเหมือน(carat, price, color)และผมต้องการที่จะดึงพล็อตกระจายpriceไปcaratสำหรับแต่ละcolorซึ่งหมายถึงการที่แตกต่างกันcolorจะมีสีที่แตกต่างกันในการวางแผน ทำได้ง่ายRด้วยggplot: ggplot(aes(x=carat, y=price, color=color), #by setting color=color, ggplot automatically draw in different colors data=diamonds) + geom_point(stat='summary', fun.y=median) ฉันสงสัยว่าจะทำได้อย่างไรใน Python โดยใช้matplotlib? PS: ฉันรู้เกี่ยวกับแพคเกจการวางแผนเสริมเช่นseabornและggplot for pythonและฉัน Donot ชอบพวกเขาเพียงแค่ต้องการที่จะหาถ้ามันเป็นไปได้ที่จะทำผลงานได้โดยใช้matplotlibเพียงอย่างเดียว; P

4
เพิ่มคอลัมน์ที่มีค่าคงที่ให้กับแพนด้าดาต้าเฟรม [ซ้ำ]
คำถามนี้มีคำตอบอยู่แล้วที่นี่ : เพิ่มคอลัมน์ในดาต้าเฟรมด้วยค่าคงที่ (4 คำตอบ) ปิด6 เดือนที่แล้ว . รับ DataFrame: np.random.seed(0) df = pd.DataFrame(np.random.randn(3, 3), columns=list('ABC'), index=[1, 2, 3]) df A B C 1 1.764052 0.400157 0.978738 2 2.240893 1.867558 -0.977278 3 0.950088 -0.151357 -0.103219 วิธีที่ง่ายที่สุดในการเพิ่มคอลัมน์ใหม่ที่มีค่าคงที่เช่น 0 คืออะไร? A B C new 1 1.764052 0.400157 0.978738 0 2 2.240893 1.867558 …
104 python  pandas 

2
ตรวจสอบอย่างมีประสิทธิภาพว่าวัตถุที่กำหนดเองคือ NaN ใน Python / numpy / pandas หรือไม่?
อาร์เรย์จำนวนนับของฉันใช้np.nanเพื่อกำหนดค่าที่ขาดหายไป เมื่อฉันทำซ้ำชุดข้อมูลฉันจำเป็นต้องตรวจจับค่าที่ขาดหายไปและจัดการกับค่าเหล่านั้นด้วยวิธีพิเศษ อย่างไร้เดียงสาผมใช้numpy.isnan(val)ซึ่งทำงานได้ดียกเว้นในกรณีที่ไม่ได้อยู่ในหมู่ย่อยของประเภทที่สนับสนุนโดยval numpy.isnan()ตัวอย่างเช่นข้อมูลที่ขาดหายไปอาจเกิดขึ้นในช่องสตริงซึ่งในกรณีนี้ฉันจะได้รับ: >>> np.isnan('some_string') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Not implemented for this type นอกเหนือจากการเขียนกระดาษห่อหุ้มราคาแพงที่จับข้อยกเว้นและส่งคืนFalseแล้วมีวิธีจัดการสิ่งนี้อย่างหรูหราและมีประสิทธิภาพหรือไม่?
103 python  numpy  pandas 

6
คุณจะกรองดาต้าเฟรมของแพนด้าตามหลายคอลัมน์ได้อย่างไร
ในการกรองดาต้าเฟรม (df) ตามคอลัมน์เดียวหากเราพิจารณาข้อมูลกับชายและหญิงเราอาจ: males = df[df[Gender]=='Male'] คำถามที่ 1 - แต่จะเกิดอะไรขึ้นถ้าข้อมูลครอบคลุมหลายปีและฉันต้องการดูเฉพาะผู้ชายในปี 2014? ในภาษาอื่นฉันอาจทำบางสิ่งเช่น: if A = "Male" and if B = "2014" then (ยกเว้นฉันต้องการทำสิ่งนี้และรับส่วนย่อยของ dataframe ดั้งเดิมในวัตถุ dataframe ใหม่) คำถาม 2. ฉันจะทำสิ่งนี้แบบวนซ้ำได้อย่างไรและสร้างออบเจ็กต์ดาต้าเฟรมสำหรับชุดของปีและเพศที่ไม่ซ้ำกันแต่ละชุด (เช่น df สำหรับ: 2013-Male, 2013-Female, 2014-Male และ 2014-Female for y in year: for g in gender: df = .....
103 python  filter  pandas 

3
รับ pandas.read_csv เพื่ออ่านค่าว่างเป็นสตริงว่างแทน nan
ฉันกำลังใช้ไลบรารีแพนด้าเพื่ออ่านข้อมูล CSV ในข้อมูลของฉันบางคอลัมน์มีสตริง สตริง"nan"เป็นค่าที่เป็นไปได้เช่นเดียวกับสตริงว่าง ฉันจัดการให้แพนด้าอ่าน "nan" เป็นสตริงได้ แต่ฉันคิดไม่ออกว่าจะทำอย่างไรให้มันไม่อ่านค่าว่างเป็น NaN นี่คือข้อมูลตัวอย่างและผลลัพธ์ One,Two,Three a,1,one b,2,two ,3,three d,4,nan e,5,five nan,6, g,7,seven >>> pandas.read_csv('test.csv', na_values={'One': [], "Three": []}) One Two Three 0 a 1 one 1 b 2 two 2 NaN 3 three 3 d 4 nan 4 e 5 five 5 nan 6 …
103 python  csv  pandas 

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