iT邦幫忙

0

Python學習筆記: Pandas快速製作含NaN的DataFrame

  • 分享至 

  • xImage
  •  

本文同步發表於小弟自架網站:微確幸資訊站

import numpy as np
import pandas as pd

# 產生8列6欄介於0-100的DataFrame
df = pd.DataFrame(np.random.randint(0,100,size=(8, 6)), columns=list('ABCDEF'))

for col in df.columns:
    # 每欄隨機產生機率0.5的NaN
    df[col] = df[col].sample(frac=0.5)

df

https://ithelp.ithome.com.tw/upload/images/20230307/201223354il8G4lhFL.jpg

接下來操作一下,把每列中超過3個NaN的列刪除。

df = df.dropna(thresh=3)
df

https://ithelp.ithome.com.tw/upload/images/20230307/201223350NOoVyG5qs.jpg

順便記錄一下如何將字串切割成list(源自stacksoverflow),轉為欄位名稱:

# 第一種方式
exam_string = '國文英語數學自然社會公民'
n = 2
exams = [exam_string[i:i+n] for i in range(0, len(exam_string), n)]
df.columns = exams
# 第二種方式
from textwrap import wrap

exam_string = '國文英語數學自然社會公民'
exams = wrap(exam_string, 2)
df.columns = exams
# 第三種方式
exam_string = '國文英語數學自然社會公民'
exams = []
while exam_string:
    exams.append(exam_string[:2])
    exam_string = exam_string[2:]

df.columns = exams
df

https://ithelp.ithome.com.tw/upload/images/20230307/20122335lN5AL68CaM.jpg


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言