我一直在使用 CSV 檔案。我根據檔案創建了一個資料框:

并添加了索引名稱。并列印資料框(添加索引名稱):

#Here is the code before failed computations.
import pandas as pd
import csv
colName = ['carIndex', 'carMake', 'Floatnum']
data2 = pd.read_csv('cars.csv', names=colName)
print(data2)
我一直在嘗試提取資料以實作我的目標,盡管我遇到了一些困難。我的目標如下:
提取資料并以“carIndex”為鍵,值為 0 - 2(與 Ca??r A - C 相關聯)撰寫按字母順序排列的 Dictionary
提取資料并以“carMake”為鍵,值為 0 - 1(與 Make X & Y 相關)撰寫按字母順序排列的字典
為 make "X" & "Y" 的值創建(三個)鍵值對(與 carIndex AC 關聯)如果值不存在,則索引應為 None。將所有三個附加到串列串列中。
最后獲取所有三個欄位(第一字典、第二字典、串列串列)并將它們添加到元組中以進行匯出
有人對我如何根據需要提取資料有建議嗎?提前致謝。
回應:
請您在問題中添加兩件事:1. 資料框的文本版本(最好來自 print(df.to_dict())),以及 2. 包含預期輸出的示例資料框?
print(data2.to_dict()) (outputs) --> {'carIndex': {0: 'Car C', 1: 'Car A', 2: 'Car B', 3: 'Car B', 4: '汽車 A'},'汽車制造':{0:'制造 X',1:'制造 X',2:'制造 X',3:'制造 Y',4:'制造 Y'},'Floatnum' : {0: 2.0, 1: 2.5, 2: 1.5, 3: 4.0, 4: 3.5}}
我想要的輸出元組:print(my_tup) (outputs) --> ({'Car A': 0, 'Car B': 1, 'Car C': 2}, {'Make X': 0, ' Make Y ': 1}, [[2.5, 3.5], [1.5, 4.0], [1.0, None]])
uj5u.com熱心網友回復:
提取資料并以“carIndex”為鍵,值為 0 - 2(與 Ca??r A - C 相關聯)撰寫按字母順序排列的 Dictionary
sorted = data2.sort_values('carIndex').drop_duplicates(subset='carIndex').reset_index()
carIndexDict = sorted['carIndex'].to_dict()
這將輸出
{0: 'Car A', 1: 'Car B', 2: 'Car C'}
提取資料并以“carMake”為鍵,值為 0 - 1(與 Make X & Y 相關聯)撰寫按字母順序排列的字典
使用相同的策略:
sorted = data2.sort_values('carMake').drop_duplicates(subset='carMake').reset_index()
carMakeDict = sorted['carMake'].to_dict()
輸出:
{0: 'Make X', 1: 'Make Y'}
制作清單:
carIndexes = carIndexDict.values()
carMakes = carMakeDict.values()
full_list = []
for idx in carIndexes:
idx_search = data2.loc[df['carIndex'] == idx]
car_list = []
for make in carMakes:
make_search = idx_search.loc[idx_search['carMake'] == make]
if not make_search.empty:
car_list.append(make_search['Floatnum'].iloc[0])
else:
car_list.append(None)
full_list.append(car_list)
輸出:
[[2.5, 3.5], [1.5, 4.0], [2.0, None]]
最后是元組:
myTuple = (carIndexDict, carMakeDict, full_list)
輸出:
({0: 'Car A', 1: 'Car B', 2: 'Car C'}, {0: 'Make X', 1: 'Make Y'}, [[2.5, 3.5], [1.5, 4.0], [2.0, None]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365723.html
上一篇:串列中的重復字典
