前期準(zhǔn)備
準(zhǔn)備后期要使用的數(shù)據(jù),使用字典創(chuàng)建DataFrame對象
import pandas as pd
import numpy as np
data = {
'grammer':['python','java','go',np.nan,'python','C','C++'],
'popularity':[1,np.nan,np.nan,4,5,7,8]
}
df = pd.DataFrame(data)
df
1.通過DataFrame保存為EXCEL
保存文件的函數(shù)一般是 to_xxx
# 保存為EXCEL文件
df.to_excel('text.xlsx')
# 保存為csv文件
df.to_csv('text.csv')
2.查看數(shù)據(jù)行列數(shù)
通過DataFrame的對象的屬性查看數(shù)據(jù)行列數(shù)
也可以通過其他的方式進(jìn)行查詢,但是這種是最便捷的
# .shape是屬性 不用加括號
df.shape
3.提取popularity列中值大于3小于7的行
使用的是布爾值索引還有進(jìn)行合取操作
df[(df['popularity']>3) & (df['popularity']<7)]
4.交換兩列的位置
其實這個交換位置,內(nèi)在的邏輯就是先取出交換后的數(shù)據(jù),再將交換后的數(shù)據(jù)重新賦值給df
df = df[['popularity','grammer']]
df
5.提取popularity列最大的行所在行
使用到了max
函數(shù)同樣還有min
函數(shù),
使用這個方法避免了數(shù)據(jù)中出現(xiàn)兩個最大值而而只取出一個的情況。
df[df['popularity']== df['popularity'].max()]
6.查看最后3行數(shù)據(jù)
使用的是tail()函數(shù),默認(rèn)是最后5行,在括號里面?zhèn)魅?code>X就會返回最后X
條
同樣還用head() 用法是一樣的
# 查看最后3行的數(shù)據(jù)
df.tail(3)
7.刪除最后一行數(shù)據(jù)
主要的思路是選中最后一行,然后刪除,這種方式還可以刪除多行
# 方式1
df.drop([len(df)-1],inplace=True)
# 方式2
df.drop([df.shape[0]-1],inplace=True)
df
8.添加一行數(shù)據(jù)
append() 添加數(shù)據(jù),使用字典添加,字典的鍵是列名,值是要添加的數(shù)據(jù),如果字典的鍵在DataFrame
中不存在,則會新建一列,其余的行設(shè)置為NaN
row = {'grammer':'Perl','popularity':6.6}
df.append(row,ignore_index=True) # 忽略行索引
9.隊數(shù)據(jù)按照popularity列的值的大小進(jìn)行排序
使用sort_values函數(shù),按值排序,默認(rèn)是升序 添加參數(shù)ascending=False
可以變?yōu)榻敌?/p>
df.sort_values('popularity') # 不會修改原數(shù)據(jù)
df.sort_values('popularity',inplace=True) # 修改原數(shù)據(jù)
10.統(tǒng)計grammer列每個字符串的長度
因為計算字符的長度,不能為NaN
不然會報錯,所以我們在計算字符串的長度的時候可以選擇先將孔空缺的數(shù)據(jù)填充上去,然后在計算長度
df['grammer'] = df['grammer'].fillna("R") # 將空缺的數(shù)據(jù)填充為R 也可以填充為一個空字符
df['len_str'] = df['grammer'].map(len) # 使用map函數(shù),map函數(shù)傳入一個函數(shù),每一行的數(shù)據(jù)會依次調(diào)用這個函數(shù)
df
今天這10道題還是比較輕松的,希望大家能夠多多拓展,拓寬自己的思路,嘗試一些新的方法。
這里我推薦大家去 ??途W(wǎng) 繼續(xù)練習(xí),??途W(wǎng)里面有相應(yīng)題目的專項突破文章來源:http://www.zghlxwxcb.cn/news/detail-500094.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-500094.html
到了這里,關(guān)于數(shù)據(jù)分析 | Pandas 200道練習(xí)題,每日10道題,學(xué)完必成大神(2)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!