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

กรอบข้อมูลเป็นโครงสร้างข้อมูลแบบตาราง โดยทั่วไปจะมีข้อมูลที่แถวคือการสังเกตและคอลัมน์เป็นตัวแปรประเภทต่างๆ ในขณะที่ "data frame" หรือ "dataframe" เป็นคำที่ใช้สำหรับแนวคิดนี้ในหลายภาษา (R, Apache Spark, deedle, Maple, pandas library ใน Python และ DataFrames library ใน Julia) "table" เป็นคำที่ใช้ใน MATLAB และ SQL

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 

19
วิธีจัดเรียงดาต้าเฟรมโดยใช้หลายคอลัมน์
ฉันต้องการเรียงลำดับ data.frame โดยหลายคอลัมน์ ตัวอย่างเช่น data.frame ด้านล่างนี้ฉันต้องการจัดเรียงตามคอลัมน์z(จากมากไปน้อย) จากนั้นตามด้วยคอลัมน์b(จากน้อยไปมาก): dd <- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"), levels = c("Low", "Med", "Hi"), ordered = TRUE), x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9), z = c(1, 1, 1, 2)) dd b x y z 1 Hi A 8 …
1316 r  sorting  dataframe  r-faq 

13
วิธีเข้าร่วม (รวม) เฟรมข้อมูล (ภายใน, ภายนอก, ซ้าย, ขวา)
รับกรอบข้อมูลสอง: df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3))) df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1))) df1 # CustomerId Product # 1 Toaster # 2 Toaster # 3 Toaster # 4 Radio # 5 Radio # 6 Radio df2 # CustomerId …
1233 r  join  merge  dataframe  r-faq 

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 

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 

20
ปล่อยคอลัมน์กรอบข้อมูลตามชื่อ
ฉันมีคอลัมน์จำนวนหนึ่งที่ฉันต้องการลบออกจาก data frame ฉันรู้ว่าเราสามารถลบพวกเขาทีละอย่างโดยใช้สิ่งที่ชอบ: df$x <- NULL แต่ฉันหวังว่าจะทำสิ่งนี้ด้วยคำสั่งน้อยลง นอกจากนี้ฉันรู้ว่าฉันสามารถวางคอลัมน์โดยใช้การทำดัชนีจำนวนเต็มเช่นนี้: df <- df[ -c(1, 3:6, 12) ] แต่ฉันกังวลว่าตำแหน่งสัมพัทธ์ของตัวแปรของฉันอาจเปลี่ยนแปลงได้ เมื่อพิจารณาว่า R ทรงพลังเพียงใดฉันคิดว่าอาจมีวิธีที่ดีกว่าการปล่อยแต่ละคอลัมน์ทีละหนึ่ง
874 r  dataframe  r-faq 

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

16
ลบแถวที่มี NA ทั้งหมดหรือบางส่วน (ค่าที่หายไป) ใน data.frame
ฉันต้องการลบบรรทัดในกรอบข้อมูลนี้ที่: ก) มีNAหลายคอลัมน์ทั้งหมด ด้านล่างเป็นกรอบข้อมูลตัวอย่างของฉัน gene hsap mmul mmus rnor cfam 1 ENSG00000208234 0 NA NA NA NA 2 ENSG00000199674 0 2 2 2 2 3 ENSG00000221622 0 NA NA NA NA 4 ENSG00000207604 0 NA NA 1 2 5 ENSG00000207431 0 NA NA NA NA 6 ENSG00000221312 0 1 2 …

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 ก่อนจากนั้นวนรอบคอลัมน์เพื่อเปลี่ยนชนิดของแต่ละคอลัมน์ โดยหลักการแล้วฉันต้องการทำสิ่งนี้แบบไดนามิกเพราะอาจมีหลายร้อยคอลัมน์และฉันไม่ต้องการระบุว่าคอลัมน์ใดเป็นประเภทใด ทั้งหมดที่ฉันรับประกันได้คือแต่ละคอลัมน์มีค่าประเภทเดียวกัน

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