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

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

7
วิธีการแสดง DataFrame ของแพนด้าลอยโดยใช้สตริงรูปแบบสำหรับคอลัมน์?
ผมอยากจะแสดง dataframe หมีแพนด้าที่มีรูปแบบที่กำหนดโดยใช้print()และ display()IPython ตัวอย่างเช่น: df = pd.DataFrame([123.4567, 234.5678, 345.6789, 456.7890], index=['foo','bar','baz','quux'], columns=['cost']) print df cost foo 123.4567 bar 234.5678 baz 345.6789 quux 456.7890 ฉันต้องการบีบบังคับสิ่งนี้ในการพิมพ์ cost foo $123.46 bar $234.57 baz $345.68 quux $456.79 โดยไม่ต้องแก้ไขข้อมูลเองหรือสร้างสำเนาเพียงแค่เปลี่ยนวิธีการแสดงข้อมูล ฉันจะทำสิ่งนี้ได้อย่างไร

12
การแยกพจนานุกรม / รายการภายในคอลัมน์แพนด้าเป็นคอลัมน์แยก
ฉันมีข้อมูลที่บันทึกไว้ในpostgreSQLฐานข้อมูล ฉันกำลังค้นหาข้อมูลนี้โดยใช้ Python2.7 และเปลี่ยนเป็น Pandas DataFrame อย่างไรก็ตามคอลัมน์สุดท้ายของดาต้าเฟรมนี้มีพจนานุกรม (หรือรายการ?) ของค่าอยู่ภายใน DataFrame มีลักษณะดังนี้: [1] df Station ID Pollutants 8809 {"a": "46", "b": "3", "c": "12"} 8810 {"a": "36", "b": "5", "c": "8"} 8811 {"b": "2", "c": "7"} 8812 {"c": "11"} 8813 {"a": "82", "c": "15"} ฉันต้องการแยกคอลัมน์นี้ออกเป็นคอลัมน์แยกกันเพื่อให้ DataFrame มีลักษณะดังนี้: [2] df2 Station ID …

4
Pandas DataFrame ไปยังรายการพจนานุกรม
ฉันมี DataFrame ต่อไปนี้: ลูกค้ารายการ 1 รายการ 2 รายการ 3 มะเขือเทศนม 1 แอปเปิ้ล 2 น้ำมันฝรั่งสีส้ม 3 มะม่วงน้ำผลไม้ชิป ซึ่งฉันต้องการแปลให้เป็นรายการของพจนานุกรมต่อแถว rows = [{'customer': 1, 'item1': 'apple', 'item2': 'milk', 'item3': 'tomato'}, {'customer': 2, 'item1': 'water', 'item2': 'orange', 'item3': 'potato'}, {'customer': 3, 'item1': 'juice', 'item2': 'mango', 'item3': 'chips'}]

8
reshaping data.frame จากรูปแบบกว้างถึงยาว
ฉันมีปัญหาในการแปลงdata.frameจากตารางกว้างเป็นตารางยาว ในขณะนี้ดูเหมือนว่านี้: Code Country 1950 1951 1952 1953 1954 AFG Afghanistan 20,249 21,352 22,532 23,557 24,555 ALB Albania 8,097 8,986 10,058 11,123 12,246 ตอนนี้ฉันต้องการที่จะเปลี่ยนนี้เป็นเวลานานdata.frame data.frameบางสิ่งเช่นนี้ Code Country Year Value AFG Afghanistan 1950 20,249 AFG Afghanistan 1951 21,352 AFG Afghanistan 1952 22,532 AFG Afghanistan 1953 23,557 AFG Afghanistan 1954 24,555 ALB …
164 r  dataframe  reshape  r-faq 

7
การกำหนดหมายเลขแถวภายในกลุ่มในกรอบข้อมูล
การทำงานกับ data frame คล้ายกับสิ่งนี้: set.seed(100) df <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15)) df <- df[order(df$cat, df$val), ] df cat val 1 aaa 0.05638315 2 aaa 0.25767250 3 aaa 0.30776611 4 aaa 0.46854928 5 aaa 0.55232243 6 bbb 0.17026205 7 bbb 0.37032054 8 bbb 0.48377074 …
163 r  dataframe  r-faq 

11
แปลง data.frame คอลัมน์เป็นเวกเตอร์หรือไม่?
ฉันมีชื่อไฟล์เช่น: a1 = c(1, 2, 3, 4, 5) a2 = c(6, 7, 8, 9, 10) a3 = c(11, 12, 13, 14, 15) aframe = data.frame(a1, a2, a3) ฉันพยายามต่อไปนี้เพื่อแปลงคอลัมน์ใดคอลัมน์หนึ่งเป็นเวกเตอร์ แต่มันไม่ทำงาน: avector <- as.vector(aframe['a2']) class(avector) [1] "data.frame" นี่เป็นทางออกเดียวที่ฉันสามารถทำได้ แต่ฉันคิดว่าต้องมีวิธีที่ดีกว่าในการทำสิ่งนี้: class(aframe['a2']) [1] "data.frame" avector = c() for(atmp in aframe['a2']) { avector <- atmp …

13
เปรียบเทียบ DataFrames สองรายการและส่งออกความแตกต่างแบบเคียงข้างกัน
ฉันพยายามเน้นสิ่งที่เปลี่ยนแปลงระหว่างสอง dataframes สมมติว่าฉันมี Python Pandas สองไฟล์: "StudentRoster Jan-1": id Name score isEnrolled Comment 111 Jack 2.17 True He was late to class 112 Nick 1.11 False Graduated 113 Zoe 4.12 True "StudentRoster Jan-2": id Name score isEnrolled Comment 111 Jack 2.17 True He was late to class 112 Nick 1.21 …
162 python  html  pandas  dataframe  panel 

13
เปรียบเทียบ data.frames สองรายการเพื่อค้นหาแถวใน data.frame 1 ที่ไม่มีอยู่ใน data.frame 2
ฉันมี 2 data.frames ต่อไปนี้: a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) ฉันต้องการค้นหาแถว a1 ที่ a2 ไม่ได้ มีฟังก์ชันในตัวสำหรับการทำงานประเภทนี้หรือไม่? (ps: ฉันได้เขียนวิธีแก้ปัญหาสำหรับฉันฉันแค่อยากรู้ว่าใครบางคนทำรหัสที่สร้างขึ้นแล้ว) นี่คือทางออกของฉัน: a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) rows.in.a1.that.are.not.in.a2 <- function(a1,a2) { a1.vec <- apply(a1, 1, paste, collapse = "") a2.vec …
161 r  merge  compare  rows  dataframe 

4
เพิ่มแถวใหม่ไปยัง dataframe ที่ดัชนีแถวที่เฉพาะเจาะจงไม่ได้ต่อท้าย?
รหัสต่อไปนี้รวม vector กับ dataframe: newrow = c(1:4) existingDF = rbind(existingDF,newrow) อย่างไรก็ตามรหัสนี้จะแทรกแถวใหม่ที่ส่วนท้ายของ dataframe เสมอ ฉันจะแทรกแถวที่จุดที่ระบุในดาต้าเฟรมได้อย่างไร? ตัวอย่างเช่นสมมติว่า dataframe มี 20 แถวฉันจะแทรกแถวใหม่ระหว่างแถวที่ 10 และ 11 ได้อย่างไร
160 r  dataframe  insert 

5
รวมสอง dataframes ตามดัชนี
สวัสดีฉันมีไฟล์ข้อมูลต่อไปนี้: > df1 id begin conditional confidence discoveryTechnique 0 278 56 false 0.0 1 1 421 18 false 0.0 1 > df2 concept 0 A 1 B ฉันจะรวมดัชนีเข้าด้วยกันได้อย่างไร: id begin conditional confidence discoveryTechnique concept 0 278 56 false 0.0 1 A 1 421 18 false 0.0 1 B ฉันถามเพราะมันเป็นความเข้าใจของฉันว่าmerge()คือdf1.merge(df2)ใช้คอลัมน์ที่จะทำที่ตรงกัน ในความเป็นจริงการทำเช่นนี้ฉันจะได้รับ: …

8
วิธีค้นหาว่าคอลัมน์ใดมีค่า NaN ใน Pandas dataframe
กำหนดดาต้าเฟรมของแพนด้าที่มีค่า NaN ที่เป็นไปได้ซึ่งกระจัดกระจายอยู่ที่นี่และที่นั่น: คำถาม:ฉันจะทราบได้อย่างไรว่าคอลัมน์ใดมีค่า NaN โดยเฉพาะอย่างยิ่งฉันจะได้รับรายชื่อคอลัมน์ที่มี NaNs หรือไม่
160 python  pandas  dataframe  nan 

5
สั่งซื้อแถวข้อมูลเฟรมตามเวกเตอร์พร้อมคำสั่งเฉพาะ
มีวิธีที่ง่ายกว่าหรือไม่ในการตรวจสอบให้แน่ใจว่าแถวของกรอบข้อมูลได้รับการจัดเรียงตามเวกเตอร์ "เป้าหมาย" ที่ฉันดำเนินการในตัวอย่างสั้น ๆ ด้านล่างหรือไม่ df <- data.frame(name = letters[1:4], value = c(rep(TRUE, 2), rep(FALSE, 2))) df # name value # 1 a TRUE # 2 b TRUE # 3 c FALSE # 4 d FALSE target <- c("b", "c", "a", "d") สิ่งนี้ดูเหมือนจะค่อนข้าง "ซับซ้อน" เพื่อให้งานเสร็จ: idx <- sapply(target, function(x) { …
158 r  sorting  dataframe 

9
จะแทนที่ NaN ด้วยค่านำหน้าใน DataFrame ของแพนด้าได้อย่างไร
สมมติว่าฉันมี DataFrame กับNaNs: >>> import pandas as pd >>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]]) >>> df 0 1 2 0 1 2 3 1 4 NaN NaN 2 NaN NaN 9 สิ่งที่ฉันต้องทำคือแทนที่ทุกค่าด้วยค่าที่NaNไม่ใช่NaNค่าแรกในคอลัมน์เดียวกันด้านบน สันนิษฐานว่าแถวแรกจะไม่มีNaN. ดังนั้นสำหรับตัวอย่างก่อนหน้าผลลัพธ์จะเป็น 0 1 2 0 1 2 3 1 4 2 …

12
การกรอง Pandas DataFrames ตามวันที่
ฉันมี Pandas DataFrame พร้อมคอลัมน์ 'วันที่' ตอนนี้ฉันต้องกรองแถวทั้งหมดใน DataFrame ที่มีวันที่อยู่นอกสองเดือนถัดไป โดยพื้นฐานแล้วฉันจะต้องรักษาแถวที่อยู่ภายในสองเดือนถัดไป อะไรคือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?

6
วิธีการแบ่งข้อมูลออกเป็น 3 ชุด (การฝึกอบรมการตรวจสอบความถูกต้องและการทดสอบ)?
ฉันมีดาต้าเฟรมแพนด้าและฉันต้องการแบ่งเป็น 3 ชุดแยกกัน ฉันรู้ว่าการใช้train_test_splitจากsklearn.cross_validationหนึ่งสามารถแบ่งข้อมูลออกเป็นสองชุด (ฝึกและทดสอบ) อย่างไรก็ตามฉันไม่พบวิธีแก้ปัญหาเกี่ยวกับการแบ่งข้อมูลออกเป็นสามชุด โดยเฉพาะอย่างยิ่งฉันต้องการมีดัชนีของข้อมูลต้นฉบับ ฉันรู้ว่าวิธีแก้ปัญหาคือต้องใช้train_test_splitสองครั้งและปรับดัชนี แต่มีวิธีมาตรฐาน / ในตัวมากกว่าในการแบ่งข้อมูลออกเป็น 3 ชุดแทนที่จะเป็น 2 หรือไม่?

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