从列表列表中获取带索引的最大值并将索引值映射到带索引的字符串列表
from list of lists get max value with index and map index value to list of string with index
我有列表列表和列表,最初需要从列表列表中找到带有索引的 argmax 值和带有另一个列表的列表索引最大值的地图列表
输入:
a = np.array([[9.8894545, 2.12012004, 2.1054542],
[3.19212970, 9.6048260, 3.63252661],
[9.97873928, 3.10315885, 2.12607185],
[5.13391890, 4.53636282, 9.8429458]])
#type(a) -> np.ndarray
b = ['abc','def','ghi']
#type(b) -> list
数据框中的预期输出:
column_c
abc
def
abc
ghi
我尝试了以下步骤,但无法映射到另一个列表
a = np.array([[9.88945457e-01, 2.12012004e-11, 2.10545428e-02],
[3.19212970e-03, 9.60482604e-01, 3.63252661e-02],
[9.97873928e-01, 4.10315885e-12, 2.12607185e-03],
[5.13391890e-07, 9.84294588e-01, 4.57048982e-02]])
sam =np.max(a, axis=1)
df_3 = pd.DataFrame(sam, columns = ['Column_A'])
输出(df_3)
Column_A
0 0.99
1 0.96
2 0.97
3 0.98
更新
如果你想根据最大值的索引来索引列表,使用:
a = np.array([[9.8894545, 2.12012004, 2.1054542],
[3.19212970, 9.6048260, 3.63252661],
[9.97873928, 3.10315885, 2.12607185],
[5.13391890, 4.53636282, 9.8429458]])
b = ['abc','def','ghi']
df = pd.Series(np.array(b)[a.argmax(axis=1)])
输出:
0 abc
1 def
2 abc
3 ghi
dtype: object
作为数据帧:
df_3 = pd.DataFrame({'column_c': np.array(b)[a.argmax(axis=1)]})
输出:
column_c
0 abc
1 def
2 abc
3 ghi
上一个回答
IIUC,使用:
a = np.array([[9.8894545, 2.12012004, 2.1054542],
[3.19212970, 9.6048260, 3.63252661],
[9.97873928, 3.10315885, 2.12607185],
[5.13391890, 4.53636282, 9.8429458]])
b = ['abc','def','ghi']
df = pd.DataFrame(a.max(axis=0), index=b)
输出:
0
abc 9.978739
def 9.604826
ghi 9.842946
我有列表列表和列表,最初需要从列表列表中找到带有索引的 argmax 值和带有另一个列表的列表索引最大值的地图列表
输入:
a = np.array([[9.8894545, 2.12012004, 2.1054542],
[3.19212970, 9.6048260, 3.63252661],
[9.97873928, 3.10315885, 2.12607185],
[5.13391890, 4.53636282, 9.8429458]])
#type(a) -> np.ndarray
b = ['abc','def','ghi']
#type(b) -> list
数据框中的预期输出:
column_c
abc
def
abc
ghi
我尝试了以下步骤,但无法映射到另一个列表
a = np.array([[9.88945457e-01, 2.12012004e-11, 2.10545428e-02],
[3.19212970e-03, 9.60482604e-01, 3.63252661e-02],
[9.97873928e-01, 4.10315885e-12, 2.12607185e-03],
[5.13391890e-07, 9.84294588e-01, 4.57048982e-02]])
sam =np.max(a, axis=1)
df_3 = pd.DataFrame(sam, columns = ['Column_A'])
输出(df_3)
Column_A
0 0.99
1 0.96
2 0.97
3 0.98
更新
如果你想根据最大值的索引来索引列表,使用:
a = np.array([[9.8894545, 2.12012004, 2.1054542],
[3.19212970, 9.6048260, 3.63252661],
[9.97873928, 3.10315885, 2.12607185],
[5.13391890, 4.53636282, 9.8429458]])
b = ['abc','def','ghi']
df = pd.Series(np.array(b)[a.argmax(axis=1)])
输出:
0 abc
1 def
2 abc
3 ghi
dtype: object
作为数据帧:
df_3 = pd.DataFrame({'column_c': np.array(b)[a.argmax(axis=1)]})
输出:
column_c
0 abc
1 def
2 abc
3 ghi
上一个回答
IIUC,使用:
a = np.array([[9.8894545, 2.12012004, 2.1054542],
[3.19212970, 9.6048260, 3.63252661],
[9.97873928, 3.10315885, 2.12607185],
[5.13391890, 4.53636282, 9.8429458]])
b = ['abc','def','ghi']
df = pd.DataFrame(a.max(axis=0), index=b)
输出:
0
abc 9.978739
def 9.604826
ghi 9.842946