我是 python 的新手,因為我正在處理表格數據,所以建議我使用 pandas 來處理和構建我將要處理的數據。我正在讀這個文件:Accel(m/s^2) 0.2518 0.0072 9.8201??Accel(m/s^2) 0.2369 0.0036 9.8201??Accel(m/s^2) 0.2477 0.0048 9.8369??使用以下代碼:file_name = '/Users/MT/Desktop/Accel_Data.txt';accel_data = {?'X': [], 'Y': [], 'Z': []? }???data = pd.read_csv(file_name,sep = '\t');???for line in data:accel_data['X'].append(line[1])accel_data['Y'].append(line[2])accel_data['Z'].append(line[3])我希望accel_data字典看起來像下面這樣:{?'X': [0.2518,0.2369,0.2477], 'Y': [0.0072, 0.0036, 0.0048], 'Z': [9.8201, 9.8201, 9.8369]? }???但它看起來像這樣:{?'X': ['c', ':', ':', ':'], 'Y': [ 'c', ' ', ' ', ' '], 'Z': [ 'e', '0', '0', '9']? }???這項工作可以在excel或matlab中完成,我更習慣使用,但我需要學習如何使用python過渡到更通用的編碼語言來處理此類數據。任何幫助將不勝感激!
1 回答

慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
您的問題似乎是使用sep = '\t'并且您的文件似乎是空格分隔的。改變你讀到這個的行
data = pd.read_csv(file_name, sep = ' ') # note tha space
如果你的文件沒有標題那么做
data = pd.read_csv(file_name, sep = ' ', header=None)
現在讓我們來點額外的。
似乎沒有理由做你正在做的將數據放入該字典的事情,你可以像這樣為數據框分配標題
columns = ['formula', 'X', 'Y', 'Z']
data = pd.read_csv(file_name, sep = ' ', header=None, names=columns)
這會給你
formula X Y Z
0 Accel(m/s^2) 0.2518 0.0072 9.8201
1 Accel(m/s^2) 0.2369 0.0036 9.8201
2 Accel(m/s^2) 0.2477 0.0048 9.8369
pandas 的強大之處在于將它用作數據框,如果您要提取數據并將其轉換為字典,那么您就失去了它。
添加回答
舉報
0/150
提交
取消