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

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

4
ฉันจะแทรกคอลัมน์ที่ดัชนีคอลัมน์เฉพาะในนุ่นได้อย่างไร
ฉันสามารถแทรกคอลัมน์ที่ดัชนีคอลัมน์เฉพาะในนุ่นได้ไหม import pandas as pd df = pd.DataFrame({'l':['a','b','c','d'], 'v':[1,2,1,2]}) df['n'] = 0 สิ่งนี้จะทำให้คอลัมน์nเป็นคอลัมน์สุดท้ายของdfแต่ไม่มีวิธีบอกdfให้ใส่nที่จุดเริ่มต้นหรือไม่
189 python  indexing  pandas 

6
ทำไมฉันถึงต้องทำสำเนาของ data frame ในนุ่น
เมื่อเลือกดาต้าเบสย่อยจากพาเรนต์ดาต้าเฟรมฉันสังเกตว่าโปรแกรมเมอร์บางคนทำสำเนาเฟรมข้อมูลโดยใช้.copy()วิธีการ ตัวอย่างเช่น, X = my_dataframe[features_list].copy() ... แทนที่จะเป็นเพียงแค่ X = my_dataframe[features_list] ทำไมพวกเขาถึงทำสำเนา data frame? จะเกิดอะไรขึ้นหากฉันไม่ทำสำเนา

8
วิธีวนซ้ำคอลัมน์ของดาต้าดาต้าแพนด้าเพื่อรันการถดถอย
ฉันแน่ใจว่านี้ง่าย แต่เป็นมือใหม่ที่สมบูรณ์เพื่อหลามฉันมีปัญหาในการหาวิธีการวนซ้ำตัวแปรในpandasdataframe และเรียกใช้การถดถอยกับแต่ละ นี่คือสิ่งที่ฉันทำ: all_data = {} for ticker in ['FIUIX', 'FSAIX', 'FSAVX', 'FSTMX']: all_data[ticker] = web.get_data_yahoo(ticker, '1/1/2010', '1/1/2015') prices = DataFrame({tic: data['Adj Close'] for tic, data in all_data.iteritems()}) returns = prices.pct_change() ฉันรู้ว่าฉันสามารถใช้การถดถอยแบบนี้: regs = sm.OLS(returns.FIUIX,returns.FSTMX).fit() แต่สมมติว่าฉันต้องการทำเช่นนี้สำหรับแต่ละคอลัมน์ใน dataframe โดยเฉพาะอย่างยิ่งฉันต้องการถอยหลัง FIUIX บน FSTMX แล้วตามด้วย FSAIX บน FSTMX แล้วตามด้วย FSAVX บน FSTMX …

4
เพิ่มคอลัมน์ไปยัง dataframe ด้วยค่าคงที่
ฉันมี dataframe ที่มีอยู่ซึ่งฉันต้องการเพิ่มคอลัมน์เพิ่มเติมซึ่งจะมีค่าเดียวกันสำหรับทุกแถว df ที่มีอยู่: Date, Open, High, Low, Close 01-01-2015, 565, 600, 400, 450 ใหม่ df: Name, Date, Open, High, Low, Close abc, 01-01-2015, 565, 600, 400, 450 ฉันรู้วิธีผนวกคอลัมน์ซีรีย์ / ดาต้าเฟรมที่มีอยู่ แต่นี่เป็นสถานการณ์ที่แตกต่างกันเพราะทั้งหมดที่ฉันต้องการคือการเพิ่มคอลัมน์ 'ชื่อ' และตั้งค่าทุกแถวเป็นค่าเดียวกันในกรณีนี้ 'abc'
187 python  pandas  dataframe 

7
แยกคอลัมน์ที่เลือกเฉพาะไปยัง DataFrame ใหม่เป็นสำเนา
ฉันมี DataFrame แพนด้ามี 4 คอลัมน์และฉันต้องการสร้างDataFrame ใหม่ที่มีเพียงสามคอลัมน์เท่านั้น คำถามนี้คล้ายกับ: การแยกคอลัมน์เฉพาะออกจาก data frameแต่สำหรับ pandas ไม่ใช่ R รหัสต่อไปนี้ใช้ไม่ได้ทำให้เกิดข้อผิดพลาดและไม่ใช่วิธี pandasnic อย่างแน่นอน import pandas as pd old = pd.DataFrame({'A' : [4,5], 'B' : [10,20], 'C' : [100,50], 'D' : [-30,-50]}) new = pd.DataFrame(zip(old.A, old.C, old.D)) # raises TypeError: data argument can't be an iterator วิธีการทำ pandasnic …


2
pandas resample เอกสาร
ดังนั้นฉันจึงเข้าใจวิธีการใช้งานresampleอย่างสมบูรณ์แต่เอกสารไม่ทำงานอธิบายตัวเลือกได้ดี ดังนั้นตัวเลือกส่วนใหญ่ในresampleฟังก์ชั่นจะค่อนข้างตรงไปตรงมายกเว้นสำหรับสองตัวนี้: กฎ: สตริงออฟเซตหรือวัตถุที่เป็นตัวแทนของการแปลงเป้าหมาย อย่างไร: สตริง, วิธีการดาวน์ - หรือการสุ่มตัวอย่างใหม่, เริ่มต้นที่ 'หมายถึง' ดังนั้นจากการดูตัวอย่างให้มากที่สุดเท่าที่ฉันพบทางออนไลน์ฉันสามารถดูกฎที่คุณสามารถทำได้'D'ในแต่ละวัน'xMin'เป็นนาที'xL'เป็นมิลลิวินาที แต่นั่นคือทั้งหมดที่ฉันสามารถหาได้ สำหรับวิธีการที่ฉันได้เห็นต่อไปนี้: 'first', np.max, 'last', 'mean'และ'n1n2n3n4...nx'ที่ NX เป็นตัวอักษรตัวแรกของดัชนีแต่ละคอลัมน์ ดังนั้นจะมีที่ไหนสักแห่งในเอกสารที่ฉันขาดหายไปซึ่งจะแสดงทุกตัวเลือกสำหรับpandas.resampleกฎและวิธีการป้อนข้อมูล? ถ้าใช่ที่ไหนเพราะฉันไม่สามารถหาได้ หากไม่มีตัวเลือกทั้งหมดสำหรับพวกเขาคืออะไร?

11
รับรายการคอลัมน์ dataframe ของ pandas ตามชนิดข้อมูล
หากฉันมีชื่อไฟล์ที่มีคอลัมน์ต่อไปนี้: 1. NAME object 2. On_Time object 3. On_Budget object 4. %actual_hr float64 5. Baseline Start Date datetime64[ns] 6. Forecast Start Date datetime64[ns] ฉันอยากจะบอกว่า: นี่คือ dataframe ให้ฉันรายการของคอลัมน์ที่เป็นประเภทวัตถุหรือประเภท DateTime? ฉันมีฟังก์ชั่นที่แปลงตัวเลข (Float64) เป็นทศนิยมสองตำแหน่งและฉันต้องการใช้รายการคอลัมน์คอลัมน์ dataframe ประเภทใดประเภทหนึ่งและเรียกใช้ผ่านฟังก์ชั่นนี้เพื่อแปลงทั้งหมดเป็น 2dp อาจจะ: For c in col_list: if c.dtype = "Something" list[] List.append(c)?
184 python  pandas 


6
แปลงคอลัมน์เป็นสตริงใน Pandas
ฉันมี DataFrame ต่อไปนี้จากแบบสอบถาม SQL: (Pdb) pp total_rows ColumnID RespondentCount 0 -1 2 1 3030096843 1 2 3030096845 1 และฉันต้องการหมุนมันเช่นนี้ total_data = total_rows.pivot_table(cols=['ColumnID']) (Pdb) pp total_data ColumnID -1 3030096843 3030096845 RespondentCount 2 1 1 [1 rows x 3 columns] total_rows.pivot_table(cols=['ColumnID']).to_dict('records')[0] {3030096843: 1, 3030096845: 1, -1: 2} แต่ฉันต้องการตรวจสอบให้แน่ใจว่ามีการโยนคอลัมน์ 303 รายการเป็นสตริงแทนที่จะเป็นจำนวนเต็มเพื่อที่ฉันจะได้รับสิ่งนี้: {'3030096843': 1, …
179 python  numpy  pandas 

3
กำลังรับรายการของรายการลงใน DataFrame แพนด้า
ฉันกำลังอ่านเนื้อหาของสเปรดชีตเป็นแพนด้า DataNitro มีวิธีการที่ส่งกลับการเลือกรูปสี่เหลี่ยมผืนผ้าของเซลล์เป็นรายการ ดังนั้น table = Cell("A1").table จะช่วยให้ table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]] headers = table.pop(0) # gives the headers as list and leaves data ฉันกำลังยุ่งกับการเขียนโค้ดเพื่อแปลสิ่งนี้ แต่ฉันเดาว่ามันเป็นการใช้งานง่ายที่ต้องมีวิธีในการทำสิ่งนี้ ดูเหมือนจะไม่พบมันในเอกสารประกอบ ตัวชี้ใด ๆ สำหรับวิธีการที่จะทำให้สิ่งนี้ง่ายขึ้น?
177 python  pandas  datanitro 


9
pandas DataFrame: แทนที่ค่าน่านด้วยค่าเฉลี่ยของคอลัมน์
ฉันได้รับ DataFrame แพนด้าส่วนใหญ่เต็มไปด้วยตัวเลขจริง แต่ก็มีnanค่าน้อยเช่นกัน ฉันจะแทนที่nans ด้วยค่าเฉลี่ยของคอลัมน์ที่พวกเขาอยู่ได้อย่างไร คำถามนี้คล้ายกับคำถามนี้: numpy array: แทนที่ค่า nan ด้วยค่าเฉลี่ยของคอลัมน์ แต่น่าเสียดายที่วิธีแก้ปัญหาที่ระบุนั้นใช้ไม่ได้กับ DataFrame แพนด้า
177 python  pandas  nan 

3
วิธีรับ N แถวสุดท้ายของ DataFrame แพนด้า?
ฉันมีดาต้าดาต้าแพนด้าdf1และdf2(df1 คือ vanila dataframe, df2 ถูกจัดทำดัชนีโดย 'STK_ID' & 'RPT_Date'): >>> df1 STK_ID RPT_Date TClose sales discount 0 000568 20060331 3.69 5.975 NaN 1 000568 20060630 9.14 10.143 NaN 2 000568 20060930 9.49 13.854 NaN 3 000568 20061231 15.84 19.262 NaN 4 000568 20070331 17.00 6.803 NaN 5 000568 20070630 26.31 …
175 python  pandas  dataframe 

12
แปลงคอลัมน์ Pandas ที่มี NaN เป็น dtype` int`
ฉันอ่านข้อมูลจากไฟล์. csv ไปยังดาต้าดาต้าเฟรมของ Pandas ดังนี้ สำหรับคอลัมน์ใดคอลัมน์หนึ่งคือผมต้องการที่จะระบุชนิดคอลัมน์เป็นid intปัญหาคือidซีรีส์มีค่าหายไป / ว่างเปล่า เมื่อฉันพยายามที่จะโยนidคอลัมน์เป็นจำนวนเต็มในขณะที่อ่าน. csv ฉันได้รับ: df= pd.read_csv("data.csv", dtype={'id': int}) error: Integer column has NA values อีกทางหนึ่งฉันพยายามแปลงประเภทคอลัมน์หลังจากอ่านด้านล่าง แต่ครั้งนี้ฉันได้รับ: df= pd.read_csv("data.csv") df[['id']] = df[['id']].astype(int) error: Cannot convert NA to integer ฉันจะจัดการสิ่งนี้ได้อย่างไร
175 python  pandas  na 

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