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

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

6
เลือกจากแพนด้าหลายดัชนี
ฉันมีกรอบข้อมูลแบบหลายดัชนีที่มีคอลัมน์ 'A' และ 'B' มีวิธีเลือกแถวโดยการกรองในคอลัมน์เดียวของดัชนีหลายดัชนีโดยไม่ต้องรีเซ็ตดัชนีเป็นดัชนีคอลัมน์เดียวหรือไม่? ตัวอย่างเช่น. # has multi-index (A,B) df #can I do this? I know this doesn't work because the index is multi-index so I need to specify a tuple df.ix[df.A ==1]

10
การเพิ่มข้อมูลเมตา / ข้อมูลเมตาให้กับแพนด้า DataFrame
เป็นไปได้ไหมที่จะเพิ่มข้อมูลเมตา / ข้อมูลเมตาลงใน DataFrame ของแพนด้า ตัวอย่างเช่นชื่อเครื่องมือที่ใช้ในการวัดข้อมูลเครื่องมือที่รับผิดชอบเป็นต้น วิธีแก้ปัญหาอย่างหนึ่งคือการสร้างคอลัมน์ที่มีข้อมูลนั้น แต่ดูเหมือนว่าจะสิ้นเปลืองที่จะจัดเก็บข้อมูลชิ้นเดียวในทุกแถว!
92 python  pandas 

6
วางแถวที่มีเซลล์ว่างจาก DataFrame แพนด้า
ฉันมีpd.DataFrameที่สร้างขึ้นโดยการแยกวิเคราะห์สเปรดชีต excel คอลัมน์ที่มีเซลล์ว่าง ตัวอย่างด้านล่างเป็นผลลัพธ์สำหรับความถี่ของคอลัมน์นั้น 32320 ระเบียนมีค่าที่ขาดหายไปสำหรับผู้เช่า >>> value_counts(Tenant, normalize=False) 32320 Thunderhead 8170 Big Data Others 5700 Cloud Cruiser 5700 Partnerpedia 5700 Comcast 5700 SDP 5700 Agora 5700 dtype: int64 ฉันพยายามวางแถวที่ไม่มีผู้เช่า แต่.isnull()ตัวเลือกไม่รู้จักค่าที่ขาดหายไป >>> df['Tenant'].isnull().sum() 0 คอลัมน์นี้มีข้อมูลประเภท "Object" เกิดอะไรขึ้นในกรณีนี้? ฉันจะทิ้งบันทึกที่ผู้เช่าหายไปได้อย่างไร
92 python  pandas 

8
แบ่งดาต้าเฟรมแพนด้าขนาดใหญ่
ฉันมีดาต้าเฟรมขนาดใหญ่ที่มีเส้น 423244 ฉันต้องการแบ่งเป็น 4 ฉันลองรหัสต่อไปนี้ซึ่งทำให้เกิดข้อผิดพลาด?ValueError: array split does not result in an equal division for item in np.split(df, 4): print item จะแบ่ง dataframe นี้เป็น 4 กลุ่มได้อย่างไร
92 python  pandas 

3
แปลงสตริงตัวเลขด้วยลูกน้ำในแพนด้า DataFrame เป็น float
ฉันมี DataFrame ที่มีตัวเลขเป็นสตริงพร้อมเครื่องหมายจุลภาคสำหรับเครื่องหมายหลักพัน ฉันต้องแปลงมันเป็นลอย a = [['1,200', '4,200'], ['7,000', '-0.03'], [ '5', '0']] df=pandas.DataFrame(a) ฉันเดาว่าฉันต้องใช้ locale.atof แน่นอน df[0].apply(locale.atof) ทำงานได้ตามที่คาดไว้ ฉันได้รับชุดลอย แต่เมื่อฉันใช้กับ DataFrame ฉันได้รับข้อผิดพลาด df.apply(locale.atof) TypeError: ("ไม่สามารถแปลงชุดข้อมูลเป็น", u'occurred ที่ดัชนี 0 ') และ df[0:1].apply(locale.atof) ให้ข้อผิดพลาดอื่น: ValueError: ('ตัวอักษรไม่ถูกต้องสำหรับ float (): 1,200', คุณเกิดขึ้นที่ดัชนี 0 ') ดังนั้นฉันจะแปลงDataFrameสตริงนี้เป็น DataFrame of float ได้อย่างไร
92 python  pandas 

7
การแทนที่ค่าสองสามค่าในคอลัมน์ดาต้าเฟรมของแพนด้าด้วยค่าอื่น
ฉันมี dataframe หมีแพนด้าตามภาพประกอบด้านล่าง: BrandName Specialty A H B I ABC J D K AB L ฉันต้องการแทนที่ 'ABC' และ 'AB' ในคอลัมน์ BrandName โดย A. มีใครช่วยได้ไหม

2
วิธีการจัดเรียง Pandas DataFrame ตามดัชนี?
เมื่อมี DataFrame ดังต่อไปนี้: import pandas as pd df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A']) ฉันจะจัดเรียง dataframe ตามดัชนีโดยมีค่าดัชนีและคอลัมน์แต่ละชุดเหมือนเดิมได้อย่างไร
91 python  pandas 

3
นุ่น: จะเปลี่ยนค่าทั้งหมดของคอลัมน์ได้อย่างไร?
ฉันมีกรอบข้อมูลที่มีคอลัมน์ที่เรียกว่า"Date"และต้องการให้ค่าทั้งหมดจากคอลัมน์นี้มีค่าเดียวกัน (ปีเท่านั้น) ตัวอย่าง: City Date Paris 01/04/2004 Lisbon 01/09/2004 Madrid 2004 Pekin 31/2004 สิ่งที่ฉันต้องการคือ: City Date Paris 2004 Lisbon 2004 Madrid 2004 Pekin 2004 นี่คือรหัสของฉัน: fr61_70xls = pd.ExcelFile('AMADEUS FRANCE 1961-1970.xlsx') #Here we import the individual sheets and clean the sheets years=(['1961','1962','1963','1964','1965','1966','1967','1968','1969','1970']) fr={} header=(['City','Country','NACE','Cons','Last_year','Op_Rev_EUR_Last_avail_yr','BvD_Indep_Indic','GUO_Name','Legal_status','Date_of_incorporation','Legal_status_date']) for year in years: # save every …

5
วิธีการแบ่งคอลัมน์ของทูเปิลในดาต้าเฟรมแพนด้า
ฉันมีดาต้าเฟรมแพนด้า (นี่เป็นเพียงชิ้นส่วนเล็ก ๆ น้อย ๆ ) >>> d1 y norm test y norm train len(y_train) len(y_test) \ 0 64.904368 116.151232 1645 549 1 70.852681 112.639876 1645 549 SVR RBF \ 0 (35.652207342877873, 22.95533537448393) 1 (39.563683797747622, 27.382483096332511) LCV \ 0 (19.365430594452338, 13.880062435173587) 1 (19.099614489458364, 14.018867136617146) RIDGE CV \ 0 (4.2907610988480362, 12.416745648065584) …

9
จะตรวจสอบได้อย่างไรว่าคอลัมน์ / ตัวแปรเป็นตัวเลขหรือไม่ใน Pandas / NumPy?
มีวิธีที่ดีกว่าในการพิจารณาว่าตัวแปรในPandasและ / หรือNumPyเป็นnumericหรือไม่? ฉันมีการกำหนดตัวเองdictionaryด้วยdtypesเป็นคีย์และnumeric/ notเป็นค่า
91 python  pandas  numpy 

5
สร้าง DataFrame แพนด้าจากรายการในพจนานุกรมที่ซ้อนกัน
สมมติว่าฉันมีพจนานุกรม 'user_dict' ที่ซ้อนกันพร้อมโครงสร้าง: ระดับ 1: UserId (จำนวนเต็มยาว) ระดับ 2:หมวดหมู่ (สตริง) ระดับ 3:แอตทริบิวต์สารพัน (ลอย ints ฯลฯ .. ) ตัวอย่างเช่นรายการของพจนานุกรมนี้จะเป็น: user_dict[12] = { "Category 1": {"att_1": 1, "att_2": "whatever"}, "Category 2": {"att_1": 23, "att_2": "another"}} แต่ละรายการในuser_dictมีโครงสร้างที่เหมือนกันและuser_dictมีรายการจำนวนมากที่ฉันต้องการป้อนให้กับ DataFrame แพนด้าโดยสร้างชุดจากแอตทริบิวต์ ในกรณีนี้ดัชนีลำดับชั้นจะเป็นประโยชน์สำหรับวัตถุประสงค์ โดยเฉพาะอย่างยิ่งคำถามของฉันคือมีวิธีที่จะช่วยให้ตัวสร้าง DataFrame เข้าใจหรือไม่ว่าชุดข้อมูลควรสร้างจากค่าของ "ระดับ 3" ในพจนานุกรม ถ้าฉันลองทำสิ่งที่ชอบ: df = pandas.DataFrame(users_summary) รายการใน "ระดับ 1" …

8
แผนการกระจายใน Pandas / Pyplot: วิธีการลงจุดตามหมวดหมู่
ฉันกำลังพยายามสร้างพล็อตการกระจายอย่างง่ายใน pyplot โดยใช้วัตถุ Pandas DataFrame แต่ต้องการวิธีที่มีประสิทธิภาพในการพล็อตตัวแปรสองตัว แต่มีสัญลักษณ์ที่กำหนดโดยคอลัมน์ที่สาม (คีย์) ฉันได้ลองใช้ df.groupby หลายวิธีแล้ว แต่ไม่สำเร็จ สคริปต์ df ตัวอย่างอยู่ด้านล่าง สีนี้จะแสดงเครื่องหมายตาม "key1" แต่ Id ต้องการดูคำอธิบายแผนภูมิที่มีหมวดหมู่ "key1" ฉันปิด? ขอบคุณ. import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame(np.random.normal(10,1,30).reshape(10,3), index = pd.date_range('2010-01-01', freq = 'M', periods = 10), columns = ('one', …

3
บันทึกรายการ DataFrames ลงในสเปรดชีต Excel หลายแผ่น
ฉันจะส่งออกรายการ DataFrames ไปยังสเปรดชีต Excel เดียวได้อย่างไร เอกสารสำหรับto_excelรัฐ: หมายเหตุ หากส่งผ่านวัตถุ ExcelWriter ที่มีอยู่แผ่นงานจะถูกเพิ่มลงในสมุดงานที่มีอยู่ สามารถใช้เพื่อบันทึก DataFrames ต่างๆลงในสมุดงานเดียว writer = ExcelWriter('output.xlsx') df1.to_excel(writer, 'sheet1') df2.to_excel(writer, 'sheet2') writer.save() จากนี้ฉันคิดว่าฉันสามารถเขียนฟังก์ชันที่บันทึกรายการ DataFrames ลงในสเปรดชีตเดียวได้ดังนี้: from openpyxl.writer.excel import ExcelWriter def save_xls(list_dfs, xls_path): writer = ExcelWriter(xls_path) for n, df in enumerate(list_dfs): df.to_excel(writer,'sheet%s' % n) writer.save() อย่างไรก็ตาม (ด้วยรายการ DataFrames ขนาดเล็กสองรายการซึ่งแต่ละรายการสามารถบันทึกto_excelแยกกันได้) จะมีการเพิ่มข้อยกเว้น(แก้ไข: การย้อนกลับที่ลบออก) : …

4
ฉันจะลบคอลัมน์ที่มีเฉพาะเลขศูนย์ใน Pandas ได้อย่างไร
ปัจจุบันฉันมี dataframe ซึ่งประกอบด้วยคอลัมน์ที่มี 1 และ 0 เป็นค่าฉันต้องการวนซ้ำในคอลัมน์และลบคอลัมน์ที่ประกอบด้วย 0 เท่านั้น นี่คือสิ่งที่ฉันได้ลองแล้ว: ones = [] zeros = [] for year in years: for i in range(0,599): if year[str(i)].values.any() == 1: ones.append(i) if year[str(i)].values.all() == 0: zeros.append(i) for j in ones: if j in zeros: zeros.remove(j) for q in zeros: del year[str(q)] ในปีใดที่เป็นรายการของดาต้าเฟรมสำหรับปีต่างๆที่ฉันกำลังวิเคราะห์ซึ่งประกอบด้วยคอลัมน์ที่มีคอลัมน์อยู่ในนั้นและศูนย์คือรายการคอลัมน์ที่มีศูนย์ทั้งหมด …
90 python  pandas 

5
เลื่อนคอลัมน์ในดาต้าเฟรมของแพนด้าขึ้นทีละคอลัมน์?
ฉันมีดาต้าเฟรมแพนด้า ฉันต้องการ 'ล่าช้า' หนึ่งในคอลัมน์ของฉัน ความหมายตัวอย่างเช่นการเลื่อนทั้งคอลัมน์ 'gdp' ขึ้นทีละคอลัมน์จากนั้นลบข้อมูลส่วนเกินทั้งหมดที่ด้านล่างของแถวที่เหลือเพื่อให้คอลัมน์ทั้งหมดมีความยาวเท่ากันอีกครั้ง df = y gdp cap 0 1 2 5 1 2 3 9 2 8 7 2 3 3 4 7 4 6 7 7 df_lag = y gdp cap 0 1 3 5 1 2 7 9 2 8 4 2 3 …

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