我的資料框(df = df.sort_values('market_name').iloc[:1]):
competition event_name event_id country_code market_name market_id total_matched Home Home_id Away Away_id Draw Draw_id
7 CONMEBOL Copa Libertadores Atletico MG v Independiente (Ecu) 31459931 None First Half Goals 1.5 1.199224510 115362.090985 Under 1.5 Goals 1221385 Over 1.5 Goals 1221386 0
為了得到market_id我需要使用索引[0]:
df['market_id'].values[0]
為了收集值['market_id'],我只使用.reset_index() .iterrows():
df = df.sort_values('market_name').iloc[:1]
df = df.reset_index()
for index, row in df.iterrows():
row['market_id']
由于此資料框將始終僅存在一行,因此有一種更專業的方法可以使用多行和回圈來獲得相同的結果而不會造成混亂?
這個想法是預先格式化這個資料框,所以我不需要把它.value[0]放在我想獲取的每個值中,并且只通過列名呼叫。
uj5u.com熱心網友回復:
如果您使用.iloc[0]而不是.iloc[:1]then 您將獲得單行 aspandas.Series并且您可以從Series僅使用標題中獲得價值。而這不需要.reset_index()
import pandas as pd
data = {
'A': [1,2,3],
'B': [4,5,6],
'C': [7,8,9]
}
df = pd.DataFrame(data)
row = df.sort_values('A').iloc[0]
print('row:')
print(row)
print('---')
print('value A:', row['A'])
print('value B:', row['B'])
結果:
row:
A 1
B 4
C 7
Name: 0, dtype: int64
---
value A: 1
value B: 4
uj5u.com熱心網友回復:
將單行資料框轉換為 python 字典怎么樣?你可以這樣做:
dct = df.to_dict(orient='records')[0];
marketId = dct['market_id']
如果您想在修改字典后將其更改回資料框,您可以執行以下操作:
df2 = pd.DataFrame([dct], columns=dct.keys())
或者,由于您的資料是一維資料,您可以使用 pandas Series 而不是 Dataframe:
ser = df.reset_index(drop=True).T[0]
print(ser)
print('\nmarket_id is:', ser['market_id'])
輸出:
competition CONMEBOL Copa Libertadores
event_name Atletico MG v Independiente (Ecu)
event_id 31459931
country_code None
market_name First Half Goals 1.5
market_id 1.199225
total_matched 115362.090985
Home Under 1.5 Goals
Home_id 1221385
Away Over 1.5 Goals
Away_id 1221386
Draw
Draw_id 0
Name: 0, dtype: object
market_id is: 1.19922451
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/478492.html
