行轉列,指的是將原本在一行中的數據轉換為多列,而列轉行則相反,將原本在一列中的數據轉換為多行。在實際開發中,行列轉換一般用於數據清洗、數據分析等方面,因為原始數據往往是比較混亂的,需要進行適當的處理才能進行後續分析。
一、行轉列
1、使用Python基礎語法實現
str = "A,B,C,D,E,F,G" # 原始字元串 lst = str.split(',') # 將字元串按照逗號分割為列表 n = 3 # 每一組數據包含幾個元素 lst_new = [lst[i:i+n] for i in range(0, len(lst), n)] # 將列錶轉換為多維列表,每n個元素為一組 for i in range(n): print([lst_new[j][i] for j in range(len(lst_new))]) # 輸出每個元素對應的所有組的值
2、使用pandas實現
import pandas as pd df = pd.read_csv('example.csv', header=None) # 讀取csv文件 df_trans = df.transpose() # 轉置 df_trans.to_csv('example_trans.csv', index=False, header=None) # 保存為csv文件
二、列轉行
1、使用Python基礎語法實現
list_1 = ['A', 'B', 'C'] list_2 = ['D', 'E', 'F'] list_3 = ['G', 'H', 'I'] lst = [list_1, list_2, list_3] # 原始列表 lst_new = [] for i in range(len(lst[0])): lst_new.append([lst[j][i] for j in range(len(lst))]) # 將每列數據轉換為一行,並添加到新列表中 for i in lst_new: print(','.join(i)) # 輸出結果,每行數據用逗號分割
2、使用pandas實現
import pandas as pd df = pd.read_csv('example.csv', header=None) # 讀取csv文件 df.to_csv('example_new.csv', index=False, header=None, sep='|') # 保存為新文件,用'|'分割每個元素
三、小結
本文以Python語言為例,介紹了行列轉換的兩種實現方式,即基礎語法和pandas庫,具體可根據實際需求來選擇不同的實現方式。在實際數據清洗和分析中,行列轉換是一個很常見的操作,能夠大大提高我們的數據分析效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301750.html