คำถามติดแท็ก chained-assignment

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ลงในตัวอย่างด้านบนได้อย่างไร

15
จะจัดการกับ SettingWithCopyWarning ใน Pandas ได้อย่างไร?
พื้นหลัง ฉันเพิ่งอัพเกรด Pandas จาก 0.11 เป็น 0.13.0rc1 ตอนนี้แอปพลิเคชันกำลังเปิดตัวคำเตือนใหม่ ๆ มากมาย หนึ่งในนั้นเช่นนี้ E:\FinReporter\FM_EXT.py:449: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_index,col_indexer] = value instead quote_df['TVol'] = quote_df['TVol']/TVOL_SCALE ฉันต้องการรู้ว่ามันแปลว่าอะไร? ฉันจำเป็นต้องเปลี่ยนบางสิ่งหรือไม่ ฉันควรจะระงับการเตือนถ้าผมยืนยันการใช้งานquote_df['TVol'] = quote_df['TVol']/TVOL_SCALE? ฟังก์ชั่นที่ให้ข้อผิดพลาด def _decode_stock_quote(list_of_150_stk_str): """decode the webpage and …

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

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 …

1
Pandas ใช้กฎอะไรในการสร้างมุมมองเทียบกับสำเนา
ฉันสับสนเกี่ยวกับกฎที่ Pandas ใช้เมื่อตัดสินใจว่าการเลือกจาก dataframe เป็นสำเนาของ dataframe ดั้งเดิมหรือมุมมองจากต้นฉบับ ตัวอย่างเช่นถ้าฉันมี df = pd.DataFrame(np.random.randn(8,8), columns=list('ABCDEFGH'), index=range(1,9)) ฉันเข้าใจว่าqueryส่งคืนสำเนาเพื่อให้เป็นเช่นนั้น foo = df.query('2 < index <= 5') foo.loc[:,'E'] = 40 จะไม่มีผลกับ dataframe ดั้งเดิม, df. ฉันยังเข้าใจว่าสเกลาร์หรือส่วนที่ตั้งชื่อส่งคืนมุมมองดังนั้นการมอบหมายให้กับสิ่งเหล่านี้เช่น df.iloc[3] = 70 หรือ df.ix[1,'B':'E'] = 222 จะเปลี่ยนdfไป แต่ฉันหลงทางเมื่อต้องเจอกับคดีที่ซับซ้อนกว่านี้ ตัวอย่างเช่น, df[df.C <= df.B] = 7654321 การเปลี่ยนแปลงdfแต่ df[df.C <= df.B].ix[:,'B':'E'] ไม่. มีกฎง่ายๆไหมที่นุ่นใช้ว่าฉันหายไป? …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.