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

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

10
ฉันจะรับรายชื่อรายการที่ซ้ำกันทั้งหมดโดยใช้แพนด้าใน python ได้อย่างไร
ฉันมีรายการสินค้าที่น่าจะมีปัญหาในการส่งออก ฉันต้องการรับรายชื่อรายการที่ซ้ำกันเพื่อที่ฉันจะได้เปรียบเทียบด้วยตนเอง เมื่อฉันพยายามใช้วิธีการทำสำเนาของแพนด้ามันจะส่งกลับรายการที่ซ้ำกันครั้งแรกเท่านั้น มีวิธีรับรายการที่ซ้ำกันทั้งหมดไม่ใช่แค่รายการแรกหรือไม่? ส่วนย่อยเล็ก ๆ ของชุดข้อมูลของฉันมีลักษณะดังนี้: ID,ENROLLMENT_DATE,TRAINER_MANAGING,TRAINER_OPERATOR,FIRST_VISIT_DATE 1536D,12-Feb-12,"06DA1B3-Lebanon NH",,15-Feb-12 F15D,18-May-12,"06405B2-Lebanon NH",,25-Jul-12 8096,8-Aug-12,"0643D38-Hanover NH","0643D38-Hanover NH",25-Jun-12 A036,1-Apr-12,"06CB8CF-Hanover NH","06CB8CF-Hanover NH",9-Aug-12 8944,19-Feb-12,"06D26AD-Hanover NH",,4-Feb-12 1004E,8-Jun-12,"06388B2-Lebanon NH",,24-Dec-11 11795,3-Jul-12,"0649597-White River VT","0649597-White River VT",30-Mar-12 30D7,11-Nov-12,"06D95A3-Hanover NH","06D95A3-Hanover NH",30-Nov-11 3AE2,21-Feb-12,"06405B2-Lebanon NH",,26-Oct-12 B0FE,17-Feb-12,"06D1B9D-Hartland VT",,16-Feb-12 127A1,11-Dec-11,"064456E-Hanover NH","064456E-Hanover NH",11-Nov-12 161FF,20-Feb-12,"0643D38-Hanover NH","0643D38-Hanover NH",3-Jul-12 A036,30-Nov-11,"063B208-Randolph VT","063B208-Randolph VT", 475B,25-Sep-12,"06D26AD-Hanover NH",,5-Nov-12 151A3,7-Mar-12,"06388B2-Lebanon NH",,16-Nov-12 CA62,3-Jan-12,,, D31B,18-Dec-11,"06405B2-Lebanon NH",,9-Jan-12 …

7
การเปลี่ยนนุ่นหรือ Numpy Nan เป็น None เพื่อใช้กับ MysqlDB
ฉันกำลังพยายามเขียนดาต้าเฟรมของ Pandas (หรือสามารถใช้อาร์เรย์ numpy) ไปยังฐานข้อมูล mysql โดยใช้ MysqlDB ดูเหมือนว่า MysqlDB จะไม่เข้าใจ 'nan' และฐานข้อมูลของฉันแสดงข้อผิดพลาดว่า nan ไม่อยู่ในรายการฟิลด์ ฉันต้องหาวิธีแปลง 'nan' เป็น NoneType ความคิดใด ๆ ?

7
การลบคอลัมน์ดัชนีในแพนด้าเมื่ออ่าน csv
ฉันมีรหัสต่อไปนี้ซึ่งจะนำเข้าไฟล์ CSV มี 3 คอลัมน์และฉันต้องการตั้งค่าสองคอลัมน์แรกเป็นตัวแปร เมื่อฉันตั้งค่าคอลัมน์ที่สองเป็นตัวแปร "ประสิทธิภาพ" คอลัมน์ดัชนีจะถูกยึดไว้ด้วย ฉันจะกำจัดคอลัมน์ดัชนีได้อย่างไร df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False) energy = df.index efficiency = df.Efficiency print efficiency ฉันลองใช้ del df['index'] หลังจากที่ฉันตั้งค่า energy = df.index ซึ่งฉันพบในโพสต์อื่น แต่ส่งผลให้ "KeyError: 'index'"
128 python  pandas 

4
dtypes วันที่และเวลาในแพนด้า read_csv
ฉันกำลังอ่านในไฟล์ csv ที่มีคอลัมน์วันที่และเวลาหลายคอลัมน์ ฉันต้องตั้งค่าประเภทข้อมูลเมื่ออ่านในไฟล์ แต่เวลาที่เกิดขึ้นดูเหมือนจะมีปัญหา ตัวอย่างเช่น: headers = ['col1', 'col2', 'col3', 'col4'] dtypes = ['datetime', 'datetime', 'str', 'float'] pd.read_csv(file, sep='\t', header=None, names=headers, dtype=dtypes) เมื่อรันให้ข้อผิดพลาด: TypeError: ไม่เข้าใจประเภทข้อมูล "datetime" การแปลงคอลัมน์ตามความเป็นจริงผ่าน pandas.to_datetime () ไม่ใช่ตัวเลือกที่ฉันไม่รู้ว่าคอลัมน์ใดจะเป็นวัตถุวันที่และเวลา ข้อมูลนั้นสามารถเปลี่ยนแปลงได้และมาจากสิ่งที่แจ้งรายการ dtypes ของฉัน หรือฉันพยายามโหลดไฟล์ csv ด้วย numpy.genfromtxt ตั้งค่า dtypes ในฟังก์ชั่นนั้นแล้วแปลงเป็น pandas.dataframe แต่มันกลับรวบรวมข้อมูล ความช่วยเหลือใด ๆ ที่ได้รับการชื่นชมอย่างมาก!

8
ใช้. cor เพื่อรับความสัมพันธ์ระหว่างสองคอลัมน์
ฉันมีดาต้าเฟรมแพนด้าต่อไปนี้Top15: ฉันสร้างคอลัมน์ที่ประมาณจำนวนเอกสารอ้างอิงต่อคน: Top15['PopEst'] = Top15['Energy Supply'] / Top15['Energy Supply per Capita'] Top15['Citable docs per Capita'] = Top15['Citable documents'] / Top15['PopEst'] ฉันต้องการทราบความสัมพันธ์ระหว่างจำนวนเอกสารอ้างอิงต่อหัวกับปริมาณพลังงานต่อหัว ดังนั้นฉันจึงใช้.corr()วิธี (สหสัมพันธ์ของเพียร์สัน): data = Top15[['Citable docs per Capita','Energy Supply per Capita']] correlation = data.corr(method='pearson') ฉันต้องการส่งคืนหมายเลขเดียว แต่ผลลัพธ์คือ:

6
วิธีเก็บดัชนีเมื่อใช้แพนด้าผสาน
ฉันต้องการรวมสองDataFramesและเก็บดัชนีจากเฟรมแรกเป็นดัชนีบนชุดข้อมูลที่ผสาน อย่างไรก็ตามเมื่อฉันทำการผสาน DataFrame ที่ได้จะมีดัชนีจำนวนเต็ม ฉันจะระบุได้อย่างไรว่าฉันต้องการเก็บดัชนีจากกรอบข้อมูลด้านซ้าย In [4]: a = pd.DataFrame({'col1': {'a': 1, 'b': 2, 'c': 3}, 'to_merge_on': {'a': 1, 'b': 3, 'c': 4}}) In [5]: b = pd.DataFrame({'col2': {0: 1, 1: 2, 2: 3}, 'to_merge_on': {0: 1, 1: 3, 2: 5}}) In [6]: a Out[6]: col1 to_merge_on a 1 1 …
126 python  pandas 

7
วิธีการประมาณว่า DataFrame ของแพนด้าต้องการหน่วยความจำเท่าใด
ฉันสงสัยว่า ... ถ้าฉันกำลังอ่านให้พูดว่าไฟล์ csv 400MB ลงในดาต้าเฟรมแพนด้า (โดยใช้ read_csv หรือ read_table) มีวิธีใดที่จะคาดเดาได้ว่าจะต้องใช้หน่วยความจำเท่าไหร่? แค่พยายามทำให้รู้สึกดีขึ้นของเฟรมข้อมูลและหน่วยความจำ ...
126 python  pandas 

9
python pandas ลบคอลัมน์ที่ซ้ำกัน
วิธีใดที่ง่ายที่สุดในการลบคอลัมน์ที่ซ้ำกันออกจากดาต้าเฟรม ฉันกำลังอ่านไฟล์ข้อความที่มีคอลัมน์ซ้ำกันผ่าน: import pandas as pd df=pd.read_table(fname) ชื่อคอลัมน์คือ: Time, Time Relative, N2, Time, Time Relative, H2, etc... คอลัมน์เวลาและเวลาที่สัมพันธ์กันทั้งหมดมีข้อมูลเดียวกัน ฉันต้องการ: Time, Time Relative, N2, H2 ความพยายามทั้งหมดของฉันในการทิ้งลบ ฯลฯ เช่น: df=df.T.drop_duplicates().T ผลลัพธ์ของข้อผิดพลาดดัชนีที่ไม่ซ้ำกัน: Reindexing only valid with uniquely valued index objects ขอโทษที่เป็นนุ่น noob ข้อเสนอแนะใด ๆ จะได้รับการชื่นชม รายละเอียดเพิ่มเติม เวอร์ชัน Pandas: 0.9.0 เวอร์ชัน Python: 2.7.3 Windows …
126 python  pandas 

4
วิธีสร้างคอลัมน์ทูเพิลจากสองคอลัมน์ใน Pandas
ฉันมี Pandas DataFrame และฉันต้องการรวมคอลัมน์ 'lat' และ 'long' เพื่อสร้างทูเพิล <class 'pandas.core.frame.DataFrame'> Int64Index: 205482 entries, 0 to 209018 Data columns: Month 205482 non-null values Reported by 205482 non-null values Falls within 205482 non-null values Easting 205482 non-null values Northing 205482 non-null values Location 205482 non-null values Crime type 205482 non-null values long …

2
จะสร้าง DataFrame ของจำนวนเต็มแบบสุ่มด้วย Pandas ได้อย่างไร?
ผมรู้ว่าถ้าผมใช้randn, import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD')) ให้สิ่งที่ฉันกำลังมองหา แต่มีองค์ประกอบจากการแจกแจงแบบปกติ แต่ถ้าฉันแค่ต้องการจำนวนเต็มแบบสุ่มล่ะ? randintทำงานโดยการให้ช่วง แต่ไม่ใช่อาร์เรย์เหมือนที่randnทำ แล้วจะทำอย่างไรกับจำนวนเต็มสุ่มระหว่างบางช่วง

6
เงื่อนไขแทนที่นุ่น
ฉันมี DataFrame และฉันต้องการแทนที่ค่าในคอลัมน์ใดคอลัมน์หนึ่งที่เกินค่าด้วยศูนย์ ฉันคิดว่านี่เป็นวิธีหนึ่งในการบรรลุสิ่งนี้: df[df.my_channel > 20000].my_channel = 0 ถ้าฉันคัดลอกช่องไปยัง data frame ใหม่มันง่ายมาก: df2 = df.my_channel df2[df2 > 20000] = 0 สิ่งนี้ทำในสิ่งที่ฉันต้องการ แต่ดูเหมือนว่าจะไม่ทำงานกับช่องเป็นส่วนหนึ่งของ DataFrame ดั้งเดิม

3
ค้นหาชื่อคอลัมน์ที่มีค่าสูงสุดสำหรับแต่ละแถว
ฉันมี DataFrame แบบนี้: In [7]: frame.head() Out[7]: Communications and Search Business General Lifestyle 0 0.745763 0.050847 0.118644 0.084746 0 0.333333 0.000000 0.583333 0.083333 0 0.617021 0.042553 0.297872 0.042553 0 0.435897 0.000000 0.410256 0.153846 0 0.358974 0.076923 0.410256 0.153846 ที่นี่ฉันต้องการถามวิธีรับชื่อคอลัมน์ที่มีค่าสูงสุดสำหรับแต่ละแถวผลลัพธ์ที่ต้องการจะเป็นดังนี้: In [7]: frame.head() Out[7]: Communications and Search Business General Lifestyle Max …
123 python  pandas  dataframe  max 

9
จะเพิ่มหลายคอลัมน์ในฐานข้อมูลแพนด้าในงานเดียวได้อย่างไร
ฉันยังใหม่กับแพนด้าและพยายามหาวิธีเพิ่มหลายคอลัมน์ให้แพนด้าพร้อมกัน ขอความช่วยเหลือใด ๆ ที่นี่ ตามหลักการแล้วฉันต้องการทำสิ่งนี้ในขั้นตอนเดียวแทนที่จะทำซ้ำหลายขั้นตอน ... import pandas as pd df = {'col_1': [0, 1, 2, 3], 'col_2': [4, 5, 6, 7]} df = pd.DataFrame(df) df[[ 'column_new_1', 'column_new_2','column_new_3']] = [np.nan, 'dogs',3] #thought this would work here...
123 python  pandas  dataframe 

8
Pandas groupby: วิธีการรวมสายอักขระ
ฉันมี dataframe แบบนี้: A B C 0 1 0.749065 This 1 2 0.301084 is 2 3 0.463468 a 3 4 0.643961 random 4 1 0.866521 string 5 2 0.120737 ! การเรียกร้อง In [10]: print df.groupby("A")["B"].sum() จะกลับมา A 1 1.615586 2 0.421821 3 0.463468 4 0.643961 ตอนนี้ฉันต้องการทำ "เหมือนกัน" สำหรับคอลัมน์ "C" เนื่องจากคอลัมน์นั้นมีสตริง …
122 python  pandas 

8
วิธีลบข้อมูลแถวสุดท้ายของกรอบข้อมูลแพนด้า
ฉันคิดว่ามันควรจะง่าย แต่ฉันลองใช้ไอเดียบางอย่างแล้วก็ไม่ได้ผล last_row = len(DF) DF = DF.drop(DF.index[last_row]) #<-- fail! ฉันลองใช้ดัชนีเชิงลบ แต่ก็ทำให้เกิดข้อผิดพลาด ฉันยังคงเข้าใจผิดบางอย่างพื้นฐาน
122 python  pandas 

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