今天,我們的Python之旅,目標是那片由逗號分隔的寶藏——CSV文件。別看它簡單,掌握這些技巧,你的數據處理能力將直線上升,輕松駕馭千行萬列的數據海洋。讓我們一起,用Python的魔力,讓CSV舞動起來吧!
安裝pandas,是這場冒險的起點。它,是Python數據分析的瑞士軍刀。
pip install pandas
導入我們的英雄——pandas,并親切地叫它pd。
import pandas as pd
data = pd.read_csv('data.csv')
這一行代碼,就像漁網一樣,把CSV里的所有數據撈到一個DataFrame中。DataFrame,就是你的數據工作臺。
print(data.head()) # 前五行print(data.tail()) # 后五行
這就像在快速翻閱書的前幾頁和最后幾頁,了解內容概要。
想改列名?簡單!
data.rename(columns={'old_name': 'new_name'}, inplace=True)
就像給朋友換個昵稱,從此“舊貌換新顏”。
想要特定條件的行?試試這個:
filtered_data = data[data['age'] > 18]
這行代碼,就像是在人群中尋找成年人,只留下符合條件的。
計算平均年齡?Python來幫忙!
average_age = data['age'].mean()
一行代碼,數據背后的秘密就浮出水面了。
遇到一列數據里藏著兩部分內容?用str.split()拆分它們。
data[['first_name', 'last_name']] = data['name'].str.split(' ', expand=True)
就像變魔術,一列瞬間變成兩列。
有兩份數據要合在一起?pd.concat()或merge()是你的左右手。
combined_data = pd.concat([data1, data2], ignore_index=True)
或者,基于某個鍵合并:
merged_data = pd.merge(data1, data2, on='common_key')
合并,讓數據的力量倍增。
想要特定范圍的值?布爾索引來幫忙!
subset = data[(data['age'] > 18) & (data['age'] < 30)]
這就像設置了一個門檻,只讓特定年齡段的數據通過。
空值是數據清洗的常客,dropna()和fillna()是你的清潔工具。
clean_data = data.dropna() # 刪除空值行# 或者data.fillna(value='default', inplace=True) # 用默認值填充
保持數據的整潔,分析才更準確。
按年齡升序排列?
sorted_data = data.sort_values(by='age', ascending=True)
就像學生們按身高排隊,井然有序。
處理完畢,別忘了保存!
data.to_csv('processed_data.csv', index=False)
這樣,你的辛苦工作就被永久記錄下來了,下次可以直接繼續。
有時,我們需要基于復雜的邏輯篩選數據。query()函數可以幫你用接近自然語言的方式進行篩選。
complex_filtered = data.query('age > 18 and city == "New York"')
這就像在對數據說:“給我找出所有年齡大于18且居住在紐約的人。”
CSV中常有日期時間數據,pd.to_datetime()是你的時光機。
data['date'] = pd.to_datetime(data['date'])
這行代碼能讓字符串形式的日期時間瞬間活過來,便于進一步的時間分析。
想要快速匯總數據?透視表(pivot table)來幫忙。
pivot_table = data.pivot_table(index='city', values='age', aggfunc='mean')
這就像創建了一個小報告,告訴你每個城市人們的平均年齡。
有時,你需要改變列的數據類型,比如將字符串轉為整型。
data['age'] = data['age'].astype(int)
這一變,數據的性質就不同了,適合更精準的數學運算。
除了基本的合并,pd.DataFrame.join()提供了更多靈活性,特別是在處理具有相同索引的DataFrame時。
left.join(right, how='inner') # 內連接
選擇合適的連接方式,可以讓你的數據合并更加精準高效。
雖然不是直接處理CSV,但可視化可以幫助你更好地理解數據。
import matplotlib.pyplot as pltdata['age'].hist()plt.show()
一個簡單的直方圖,讓你一眼看出年齡分布。
本文鏈接:http://www.tebozhan.com/showinfo-26-96046-0.htmlPython 處理 CSV 文件的 12 個高效技巧
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com