Python 熊猫的索引匹配?
我试图根据x值的行键和列键匹配x值。在excel中,我使用了INDEX&MATCH来获取正确的值,但在Pandas中,我很难做到这一点 示例: 我想将突出显示的值(保存在df2中)添加到我的df['Cost']列中 我有df['Weight']和df['Country']作为键,但我不知道如何使用它们来查找df2中突出显示的值 如何将黄色值提取到df3['Postage'],然后使用它将其添加到df['Cost']列中 我希望这是有道理的。让我知道我应该提供更多信息 编辑-更多信息(抱歉,我不知道如何从Jupyter复制输出): 当我运行[93]时,我得到以下错误:Python 熊猫的索引匹配?,python,python-3.x,pandas,jupyter-notebook,Python,Python 3.x,Pandas,Jupyter Notebook,我试图根据x值的行键和列键匹配x值。在excel中,我使用了INDEX&MATCH来获取正确的值,但在Pandas中,我很难做到这一点 示例: 我想将突出显示的值(保存在df2中)添加到我的df['Cost']列中 我有df['Weight']和df['Country']作为键,但我不知道如何使用它们来查找df2中突出显示的值 如何将黄色值提取到df3['Postage'],然后使用它将其添加到df['Cost']列中 我希望这是有道理的。让我知道我应该提供更多信息 编辑-更多信息(抱歉,我不
ValueError: Row labels must have same size as column labels
谢谢 只需获取突出显示的值
1.75
df2.loc[df2['Country']=='B', 3]
因此,概括上述内容并使用df1
中的国家权重密钥对:
cost = []
for i in range(df1.shape[0]):
country = df1.loc[i, 'Country']
weight = df1.loc[i, 'Weight']
cost.append(df2.loc[df2['Country']==country, weight]
df1['Cost'] = cost
或者更好:
df1['Cost'] = df1.apply(lambda x: df2.loc[df2['Country']==x['Country'], x['Weight'], axis=1)
只需获取突出显示的值
1.75
df2.loc[df2['Country']=='B', 3]
因此,概括上述内容并使用df1
中的国家权重密钥对:
cost = []
for i in range(df1.shape[0]):
country = df1.loc[i, 'Country']
weight = df1.loc[i, 'Weight']
cost.append(df2.loc[df2['Country']==country, weight]
df1['Cost'] = cost
或者更好:
df1['Cost'] = df1.apply(lambda x: df2.loc[df2['Country']==x['Country'], x['Weight'], axis=1)
用于您的案例(注意[0]需要索引到数组中)
希望这对.iloc和.loc有所帮助
d = {chr(ord('A')+r):[c+r*10 for c in range(5)] for r in range(5)}
df = pd.DataFrame(d).transpose()
df.columns=['a','b','c','d','e']
print(df)
print("--------")
print(df.loc['B']['c'])
print(df.iloc[1][2])
输出
a b c d e
A 0 1 2 3 4
B 10 11 12 13 14
C 20 21 22 23 24
D 30 31 32 33 34
E 40 41 42 43 44
--------
12
12
用于您的案例(注意[0]需要索引到数组中)
希望这对.iloc和.loc有所帮助
d = {chr(ord('A')+r):[c+r*10 for c in range(5)] for r in range(5)}
df = pd.DataFrame(d).transpose()
df.columns=['a','b','c','d','e']
print(df)
print("--------")
print(df.loc['B']['c'])
print(df.iloc[1][2])
输出
a b c d e
A 0 1 2 3 4
B 10 11 12 13 14
C 20 21 22 23 24
D 30 31 32 33 34
E 40 41 42 43 44
--------
12
12
请提供一些数据帧(df2、df3等)的示例,向我们展示python中的示例,dataframeRow和column索引被称为,类似于excel。谢谢,我添加了更多信息。让我知道这是否有帮助。请提供一些数据帧(df2、df3等)的示例,向我们展示python中的示例。dataframeRow和column索引被调用,类似于excel。谢谢,我添加了一些更多信息。请告诉我这是否有帮助。谢谢,不幸的是,我遇到了以下错误:TypeError:无法使用非整数键按位置索引索引(Tks到@Leonardus Chen)-修复了查找df.Countr==row.Country的行。然后按行索引到arr。权重值。。。然后返回[0]值。谢谢,不幸的是,我得到了以下错误:TypeError:无法使用非整数键按位置索引索引(Tks到@Leonardus Chen)-修复了查找df.Countr==row.Country的行的问题。然后按行索引到arr。权重值。。。然后返回[0]值,非常感谢!你最后的回答帮助了我!起初,我无法使用它,因为行权重(int)与列(str)相对。将重量转换为物体似乎有帮助!非常感谢你!你最后的回答帮助了我!起初,我无法使用它,因为行权重(int)与列(str)相对。将重量转换为物体似乎有帮助!