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

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

10
วิธีที่เร็วที่สุดในการแทนที่ NAs ใน data.table ขนาดใหญ่
ฉันมีdata.tableขนาดใหญ่โดยมีค่าที่หายไปจำนวนมากกระจายอยู่ทั่วแถว ~ 200k และ 200 คอลัมน์ ฉันต้องการโค้ดค่า NA เหล่านั้นให้เป็นศูนย์อีกครั้งอย่างมีประสิทธิภาพที่สุด ฉันเห็นสองตัวเลือก: 1: แปลงเป็น data.frame และใช้บางสิ่งเช่นนี้ 2: คำสั่งการตั้งค่าย่อย data.table บางประเภท ฉันจะมีความสุขกับการแก้ปัญหาอย่างมีประสิทธิภาพของประเภท 1 การแปลง data.frame แล้วกลับไปที่ data.table จะไม่ใช้เวลานานเกินไป

8
ทำซ้ำแต่ละแถวของข้อมูลกำหนดจำนวนครั้งที่ระบุในคอลัมน์
df <- data.frame(var1 = c('a', 'b', 'c'), var2 = c('d', 'e', 'f'), freq = 1:3) วิธีที่ง่ายที่สุดในการขยายแต่ละแถวคือสองคอลัมน์แรกของ data.frame ข้างต้นเพื่อให้แต่ละแถวซ้ำจำนวนครั้งที่ระบุในคอลัมน์ 'freq' ในคำอื่น ๆ ไปจากนี้: df var1 var2 freq 1 a d 1 2 b e 2 3 c f 3 สำหรับสิ่งนี้: df.expanded var1 var2 1 a d 2 b e 3 b …
150 r  dataframe  replicate 

12
การแทนที่ค่าว่าง (white space) ด้วย NaN ใน pandas
ฉันต้องการค้นหาค่าทั้งหมดใน Pandas dataframe ที่มีช่องว่าง (จำนวนเท่าใดก็ได้) และแทนที่ค่าเหล่านั้นด้วย NaNs ความคิดใด ๆ ที่สามารถปรับปรุงได้? โดยทั่วไปฉันต้องการที่จะเปิดนี้: A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo 2 2000-01-04 0.814772 baz 2000-01-05 -0.222552 4 2000-01-06 -1.176781 qux เป็นนี้ A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo …
150 python  pandas  dataframe 

5
Pandas dataframe รับแถวแรกของแต่ละกลุ่ม
ฉันมีแพนด้าDataFrameชอบติดตาม df = pd.DataFrame({'id' : [1,1,1,2,2,3,3,3,3,4,4,5,6,6,6,7,7], 'value' : ["first","second","second","first", "second","first","third","fourth", "fifth","second","fifth","first", "first","second","third","fourth","fifth"]}) ฉันต้องการจัดกลุ่มตาม ["id", "value"] และรับแถวแรกของแต่ละกลุ่ม id value 0 1 first 1 1 second 2 1 second 3 2 first 4 2 second 5 3 first 6 3 third 7 3 fourth 8 3 fifth 9 4 second 10 4 …
150 python  pandas  dataframe 

11
ลบคอลัมน์ออกจาก dataframe โดยที่ค่าทั้งหมดคือ NA
ฉันมีปัญหากับกรอบข้อมูลและไม่สามารถจริงๆแก้ไขปัญหาที่ตัวเอง: dataframeมีพลคุณสมบัติเป็นคอลัมน์และแต่ละแถวเป็นหนึ่งในชุดข้อมูล คำถามคือ: วิธีการกำจัดคอลัมน์ที่ทุกค่าแถวคือ NA ?
149 r  apply  dataframe 

2
เลือกแถวในแพนด้า MultiIndex DataFrame
สิ่งที่เป็นที่สุดวิธีหมีแพนด้าทั่วไปเพื่อเลือก / แถวกรองของdataframe ซึ่งเป็นดัชนี MultiIndex ? การแบ่งส่วนตามค่า / ป้ายกำกับเดียว การแบ่งส่วนตามป้ายกำกับหลายรายการตั้งแต่หนึ่งระดับขึ้นไป การกรองเงื่อนไขและนิพจน์บูลีน วิธีการใดที่ใช้ได้ในสถานการณ์ใด สมมติฐานเพื่อความเรียบง่าย: อินพุตดาต้าเฟรมไม่มีคีย์ดัชนีที่ซ้ำกัน อินพุตดาต้าเฟรมด้านล่างมีสองระดับเท่านั้น (วิธีแก้ปัญหาส่วนใหญ่ที่แสดงไว้ที่นี่เป็นระดับ N) ตัวอย่างการป้อนข้อมูล: mux = pd.MultiIndex.from_arrays([ list('aaaabbbbbccddddd'), list('tuvwtuvwtuvwtuvw') ], names=['one', 'two']) df = pd.DataFrame({'col': np.arange(len(mux))}, mux) col one two a t 0 u 1 v 2 w 3 b t 4 u 5 v 6 …

7
ค้นหาคอลัมน์ที่มีชื่อประกอบด้วยสตริงเฉพาะ
ฉันมีดาต้าเฟรมที่มีชื่อคอลัมน์และฉันต้องการค้นหาอันที่มีสตริงที่แน่นอน แต่ไม่ตรงกันทุกประการ ฉันค้นหา'spike'ในชื่อคอลัมน์ที่ชอบ'spike-2', 'hey spike', 'spiked-in'(คน'spike'ส่วนหนึ่งอยู่เสมอต่อเนื่อง) ฉันต้องการให้ชื่อคอลัมน์ถูกส่งคืนเป็นสตริงหรือตัวแปรดังนั้นฉันจึงเข้าถึงคอลัมน์ในภายหลังโดยมีdf['name']หรือdf[name]ตามปกติ ฉันพยายามหาวิธีการแล้ว แต่ก็ไม่มีประโยชน์ เคล็ดลับใด ๆ

7
Pandas dataframe fillna () มีบางคอลัมน์เท่านั้น
ฉันกำลังพยายามเติมค่าใด ๆ ในดาต้าดาต้าแพนด้าของ 0 สำหรับคอลัมน์ย่อยบางส่วนเท่านั้น เมื่อฉันทำ: import pandas as pd df = pd.DataFrame(data={'a':[1,2,3,None],'b':[4,5,None,6],'c':[None,None,7,8]}) print df df.fillna(value=0, inplace=True) print df ผลลัพธ์: a b c 0 1.0 4.0 NaN 1 2.0 5.0 NaN 2 3.0 NaN 7.0 3 NaN 6.0 8.0 a b c 0 1.0 4.0 0.0 1 2.0 5.0 0.0 …
145 python  pandas  dataframe 

8
วิธีการเลือกแถวแรกของแต่ละกลุ่ม?
ฉันมี DataFrame สร้างขึ้นดังนี้ df.groupBy($"Hour", $"Category") .agg(sum($"value") as "TotalValue") .sort($"Hour".asc, $"TotalValue".desc)) ผลลัพธ์ดูเหมือนว่า: +----+--------+----------+ |Hour|Category|TotalValue| +----+--------+----------+ | 0| cat26| 30.9| | 0| cat13| 22.1| | 0| cat95| 19.6| | 0| cat105| 1.3| | 1| cat67| 28.5| | 1| cat4| 26.8| | 1| cat13| 12.6| | 1| cat23| 5.3| | 2| cat56| 39.6| …


14
กำหนดจำนวนของค่า NA ในคอลัมน์
ฉันต้องการนับจำนวนNAค่าในคอลัมน์ data frame กล่าวว่ากรอบข้อมูลของฉันเรียกว่าและชื่อของคอลัมน์ฉันกำลังพิจารณาคือdf colวิธีที่ฉันคิดขึ้นมีดังต่อไปนี้: sapply(df$col, function(x) sum(length(which(is.na(x))))) นี่เป็นวิธีที่ดี / มีประสิทธิภาพมากที่สุดในการทำเช่นนี้?
143 r  dataframe 

13
จะแสดงชื่อคอลัมน์ทั้งหมดบนแพนด้าดาต้าเฟรมได้อย่างไร
ฉันมีดาต้าเฟรมที่ประกอบด้วยคอลัมน์หลายร้อยคอลัมน์และฉันต้องการดูชื่อคอลัมน์ทั้งหมด ฉันทำอะไรไป: In[37]: data_all2.columns ผลลัพธ์คือ: Out[37]: Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food', 'government', 'internet', 'isipulsa', ... 'overdue_3months_feature78', 'overdue_3months_feature79', 'overdue_3months_feature80', 'overdue_3months_feature81', 'overdue_3months_feature82', 'overdue_3months_feature83', 'overdue_3months_feature84', 'overdue_3months_feature85', 'overdue_3months_feature86', 'loan_overdue_3months_total_y'], dtype='object', length=102) ฉันจะแสดงคอลัมน์ทั้งหมดแทนรายการที่ถูกตัดทอนได้อย่างไร
142 python  pandas  dataframe  show 

2
จะเพิ่มคอลัมน์ค่าคงที่ใน Spark DataFrame ได้อย่างไร
ฉันต้องการเพิ่มคอลัมน์ใน a DataFrameโดยมีค่าตามอำเภอใจ (ซึ่งเหมือนกันสำหรับแต่ละแถว) ฉันได้รับข้อผิดพลาดเมื่อใช้withColumnดังนี้: dt.withColumn('new_column', 10).head(5) --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-50-a6d0257ca2be> in <module>() 1 dt = (messages 2 .select(messages.fromuserid, messages.messagetype, floor(messages.datetime/(1000*60*5)).alias("dt"))) ----> 3 dt.withColumn('new_column', 10).head(5) /Users/evanzamir/spark-1.4.1/python/pyspark/sql/dataframe.pyc in withColumn(self, colName, col) 1166 [Row(age=2, name=u'Alice', age2=4), Row(age=5, name=u'Bob', age2=7)] 1167 """ -> 1168 return self.select('*', col.alias(colName)) 1169 1170 …

6
คอลัมน์ดาต้าเฟรมแพนด้าปรับขนาดด้วย sklearn
ฉันมีดาต้าเฟรมแพนด้าที่มีคอลัมน์ประเภทผสมและฉันต้องการใช้ min_max_scaler ของ sklearn กับบางคอลัมน์ ตามหลักการแล้วฉันต้องการทำการเปลี่ยนแปลงเหล่านี้ในสถานที่ แต่ยังไม่ได้หาวิธีที่จะทำ ฉันได้เขียนโค้ดต่อไปนี้ที่ใช้งานได้: import pandas as pd import numpy as np from sklearn import preprocessing scaler = preprocessing.MinMaxScaler() dfTest = pd.DataFrame({'A':[14.00,90.20,90.95,96.27,91.21],'B':[103.02,107.26,110.35,114.23,114.68], 'C':['big','small','big','small','small']}) min_max_scaler = preprocessing.MinMaxScaler() def scaleColumns(df, cols_to_scale): for col in cols_to_scale: df[col] = pd.DataFrame(min_max_scaler.fit_transform(pd.DataFrame(dfTest[col])),columns=[col]) return df dfTest A B C 0 14.00 103.02 big …

3
จะบันทึก data.frame ใน R ได้อย่างไร?
ฉันสร้าง data.frame ใน R ที่ไม่ใหญ่มาก แต่ใช้เวลาค่อนข้างนานในการสร้าง ฉันต้องการบันทึกเป็นไฟล์ซึ่งสามารถเปิดได้มากกว่าใน R อีกครั้ง?
137 r  dataframe 

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