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

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

15
การสร้าง Panda DataFrame จากค่าในตัวแปรให้“ ValueError: หากใช้ค่าสเกลาร์ทั้งหมดคุณต้องผ่านดัชนี”
นี่อาจเป็นคำถามง่าย ๆ แต่ฉันไม่สามารถหาวิธีทำสิ่งนี้ได้ ให้บอกว่าฉันมีสองตัวแปรดังนี้ a = 2 b = 3 ฉันต้องการสร้าง DataFrame จากสิ่งนี้: df2 = pd.DataFrame({'A':a,'B':b}) สิ่งนี้สร้างข้อผิดพลาด: ValueError: หากใช้ค่าสเกลาร์ทั้งหมดคุณต้องผ่านดัชนี ฉันลองสิ่งนี้ด้วย: df2 = (pd.DataFrame({'a':a,'b':b})).reset_index() สิ่งนี้ทำให้ข้อความแสดงข้อผิดพลาดเดียวกัน

12
วิธีใช้ฟังก์ชันกับสองคอลัมน์ของ Pandas dataframe
สมมติว่าผมมีซึ่งมีคอลัมน์ของdf 'ID', 'col_1', 'col_2'และฉันกำหนดฟังก์ชั่น: f = lambda x, y : my_function_expression. ตอนนี้ผมต้องการที่จะใช้fในการdf's สองคอลัมน์'col_1', 'col_2'การคำนวณองค์ประกอบฉลาดคอลัมน์ใหม่'col_3'ค่อนข้างชอบ df['col_3'] = df[['col_1','col_2']].apply(f) # Pandas gives : TypeError: ('<lambda>() takes exactly 2 arguments (1 given)' วิธีการทำ ? ** เพิ่มตัวอย่างรายละเอียดดังนี้ *** import pandas as pd df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]}) mylist = ['a','b','c','d','e','f'] def get_sublist(sta,end): return …
368 python  pandas  dataframe 

6
ค่าความจริงของซีรี่ส์นั้นไม่ชัดเจน ใช้ a.empty, a.bool (), a.item (), a.any () หรือ a.all ()
มีปัญหาในการกรอง dataframe ผลลัพธ์โดยมีorเงื่อนไข ฉันต้องการผลลัพธ์ของฉันdfเพื่อแยกvarค่าคอลัมน์ทั้งหมดที่สูงกว่า 0.25 และต่ำกว่า -0.25 ตรรกะด้านล่างนี้ให้คุณค่าความจริงที่คลุมเครือกับฉัน แต่มันทำงานเมื่อฉันแยกตัวกรองนี้ออกเป็นสองการดำเนินการแยกกัน เกิดอะไรขึ้นที่นี่ ไม่แน่ใจว่าจะใช้ข้อเสนอแนะที่a.empty(), a.bool(), a.item(),a.any() or a.all()ใด result = result[(result['var']>0.25) or (result['var']<-0.25)]

10
แยกคอลัมน์เฉพาะจากกรอบข้อมูล
ฉันมีเฟรมข้อมูล R ที่มี 6 คอลัมน์และฉันต้องการสร้างดาต้าเฟรมใหม่ที่มีเพียงสามคอลัมน์เท่านั้น สมมติว่าเฟรมข้อมูลของฉันเป็นdfและฉันต้องการที่จะคอลัมน์สารสกัดA, BและEนี้เป็นเพียงคำสั่งฉันจะคิดออก: data.frame(df$A,df$B,df$E) มีวิธีที่กะทัดรัดกว่านี้อีกไหม?
365 r  dataframe  r-faq 

15
วิธีหาผลรวมของตัวแปรตามกลุ่ม
ฉันมีกรอบข้อมูลที่มีสองคอลัมน์ คอลัมน์แรกมีหมวดหมู่เช่น "First", "Second", "Third" และคอลัมน์ที่สองมีตัวเลขที่แสดงถึงจำนวนครั้งที่ฉันเห็นกลุ่มเฉพาะจาก "หมวดหมู่" ตัวอย่างเช่น: Category Frequency First 10 First 15 First 5 Second 2 Third 14 Third 20 Second 3 ฉันต้องการเรียงลำดับข้อมูลตามหมวดหมู่และรวมความถี่ทั้งหมด: Category Frequency First 30 Second 5 Third 34 ฉันจะทำสิ่งนี้ใน R ได้อย่างไร
357 r  dataframe  aggregate  r-faq 


11
วิธีรับค่าจากเซลล์ของ dataframe
ฉันได้สร้างเงื่อนไขที่ดึงหนึ่งแถวออกจาก data frame ของฉัน: d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)] ตอนนี้ฉันต้องการนำค่าจากคอลัมน์ใดคอลัมน์หนึ่ง: val = d2['col_name'] แต่เป็นผลให้ฉันได้รับ data frame ที่มีหนึ่งแถวและหนึ่งคอลัมน์ ( เช่นหนึ่งเซลล์) มันไม่ใช่สิ่งที่ฉันต้องการ ฉันต้องการหนึ่งค่า (หมายเลขลอยหนึ่ง) ฉันจะทำมันด้วยแพนด้าได้ยังไง?
347 python  pandas  dataframe 

9
แปลงรายการเฟรมข้อมูลเป็นกรอบข้อมูลเดียว
ฉันมีรหัสที่ท้ายสถานที่ด้วยรายการของ data frames ซึ่งฉันต้องการแปลงเป็น data data ขนาดใหญ่เพียงอันเดียว ฉันได้รับคำแนะนำจากคำถามก่อนหน้านี้ซึ่งพยายามทำสิ่งที่คล้ายกัน แต่ซับซ้อนกว่า นี่คือตัวอย่างของสิ่งที่ฉันเริ่มต้นด้วย (นี่ง่ายสำหรับการทำภาพประกอบ): listOfDataFrames <- vector(mode = "list", length = 100) for (i in 1:100) { listOfDataFrames[[i]] <- data.frame(a=sample(letters, 500, rep=T), b=rnorm(500), c=rnorm(500)) } ฉันกำลังใช้สิ่งนี้อยู่: df <- do.call("rbind", listOfDataFrames)
336 list  r  dataframe 

11
ตัวอย่างสุ่มแถวใน dataframe
ฉันกำลังพยายามหาฟังก์ชั่นที่เหมาะสมซึ่งจะคืนค่าจำนวนแถวที่ระบุแบบสุ่มโดยไม่ต้องเปลี่ยนจาก data frame ในภาษา R หรือไม่? ใครช่วยฉันออกได้บ้าง
333 r  dataframe  sample  r-faq 

14
pandas: กรองแถวของ DataFrame ด้วยการโยงผู้ปฏิบัติงาน
การดำเนินงานมากที่สุดในpandasสามารถทำได้กับผู้ประกอบการผูกมัด ( groupby, aggregate, applyฯลฯ ) แต่วิธีเดียวที่ฉันได้พบกับแถวที่กรองผ่านการจัดทำดัชนีวงเล็บปกติ df_filtered = df[df['column'] == value] สิ่งนี้ไม่น่าสนใจเนื่องจากฉันต้องกำหนดให้dfกับตัวแปรก่อนที่จะสามารถกรองค่าได้ มีอะไรมากกว่านี้อีกไหม? df_filtered = df.mask(lambda x: x['column'] == value)
329 python  pandas  dataframe 

17
Pandas - วิธีการทำให้ดัชนีลำดับขั้นในคอลัมน์แบนเรียบ
ฉันมีกรอบข้อมูลที่มีดัชนีลำดับชั้นในแกน 1 (คอลัมน์) (จากการgroupby.aggดำเนินการ): USAF WBAN year month day s_PC s_CL s_CD s_CNT tempf sum sum sum sum amax amin 0 702730 26451 1993 1 1 1 0 12 13 30.92 24.98 1 702730 26451 1993 1 2 0 0 13 13 32.00 24.98 2 702730 26451 1993 1 3 …
325 python  pandas  dataframe 

23
ฉันจะสร้างตัวอย่างการทดสอบและฝึกอบรมตัวอย่างจากดาต้าเฟรมที่มีแพนด้าได้อย่างไร
ฉันมีชุดข้อมูลที่มีขนาดใหญ่พอสมควรในรูปแบบของ dataframe และฉันสงสัยว่าฉันจะสามารถแยก dataframe ออกเป็นสองตัวอย่างแบบสุ่ม (80% และ 20%) สำหรับการฝึกอบรมและการทดสอบได้อย่างไร ขอบคุณ!

7
Pandas read_csv low_memory และ dtype ตัวเลือก
เมื่อโทรมา df = pd.read_csv('somefile.csv') ฉันเข้าใจ: /Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/pandas/io/parsers.py:1130: DtypeWarning: คอลัมน์ (4,5,7,16) มีประเภทผสม ระบุตัวเลือก dtype ในการนำเข้าหรือตั้งค่า low_memory = False ทำไมdtypeตัวเลือกถึงเกี่ยวข้องlow_memoryและเหตุใดจึงทำให้Falseเกิดปัญหานี้

11
วิธีการเก็บดาต้าเฟรมโดยใช้ Pandas
ตอนนี้ฉันกำลังนำเข้าไฟล์ข้อมูลขนาดใหญ่พอสมควรCSVทุกครั้งที่เรียกใช้สคริปต์ มีวิธีแก้ปัญหาที่ดีในการทำให้ดาต้าเฟรมนั้นมีให้ใช้อย่างต่อเนื่องในระหว่างรันดังนั้นฉันไม่ต้องเสียเวลารอให้สคริปต์รันหรือไม่?
317 python  pandas  dataframe 

8
การสร้างหมีแพนด้าแบบมีเงื่อนไขของคอลัมน์ series / dataframe
ฉันมีชื่อไฟล์ตามบรรทัดด้านล่าง: Type Set 1 A Z 2 B Z 3 B X 4 C Y ฉันต้องการเพิ่มคอลัมน์อีกคอลัมน์หนึ่งลงใน dataframe (หรือสร้างชุดข้อมูล) ที่มีความยาวเท่ากับ dataframe (= จำนวนระเบียน / แถวเท่ากัน) ซึ่งตั้งค่าสีเขียวถ้า Set = 'Z' และ 'red' ถ้า Set = เป็นอย่างอื่น . วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?

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