我想重新編碼兩個資料集共享的“風味”欄位。
我成功地將資料作為資料框存盤在字典中,但分配的名稱(例如'df_Mike')是字串而不是可呼叫/可更改的物件。
請讓我知道我哪里出錯并解釋原因。
name = ['Mike', 'Sue']
d = {}
for n in name:
url = f'https://raw.githubusercontent.com/steflangehennig/info4120/main/data/{n}.csv'
response = urllib.request.urlopen(url)
d[n] = pd.DataFrame(pd.read_csv(response))
flavor = {1: 'Choclate', 2: 'Vanilla', 3:'Mixed'}
for df in d:
df.map({'Flavor': flavor}, inplace = True)
錯誤代碼:
1 flavor = {1: 'Choclate', 2: 'Vanilla', 3:'Mixed'}
3 for df in d:
----> 4 df.map({'Flavor': flavor}, inplace = True)
AttributeError: 'str' object has no attribute 'map'
uj5u.com熱心網友回復:
您正在遍歷字典中的鍵。如果要迭代值,可以使用dict.values(). 例如:
for df in d.values():
df.map({'Flavor': flavor}, inplace = True)
uj5u.com熱心網友回復:
迭代這些dict專案會更好。所以,使用
for name, df in d.items():
uj5u.com熱心網友回復:
你可以試試
for n in name:
url = f'https://raw.githubusercontent.com/steflangehennig/info4120/main/data/{n}.csv'
df = pd.read_csv(url)
d[n] = df
for df in d.values():
df['Flavor'] = df['Flavor'].map(flavor)
或僅在第一個回圈中
for n in name:
url = f'https://raw.githubusercontent.com/steflangehennig/info4120/main/data/{n}.csv'
df = pd.read_csv(url)
df['Flavor'] = df['Flavor'].map(flavor)
d[n] = df
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/477032.html
標籤:Python python-3.x 熊猫 数据框 字典
