如何在python中使用非整数值迭代数据帧

时间:2017-12-03 12:26:14

标签: python pandas dataframe

我是python的新手,我正试图用两个数据帧的值迭代一个数据帧。

例如:Dataframe A(dfA)看起来像这样,并为我提供了我需要迭代的值。

NP
1:123个
5:657个
4:789

Dataframe B(dfB)看起来像这样

DataframeB

从Dataframe A中的值我想迭代Dataframe B中的列,如果值匹配,则将整个列复制到Dataframe C(dfC)。我有1500列,因此无法手动执行此操作。

我目前正在使用此代码来完成此操作而没有运气。

for ip in dfA.values: 
    dfC[dfA.iloc[ip]]= dfB[dfA.iloc[ip]]

此代码提供以下错误: ValueError:基数为10的int()的无效文字:' 1:2234'

我如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您的问题是您使用.iloc(以整数定位)而不是.loc(按值/标签定位)

但以下怎么样?

for ip in dfA.values: 
    if ip in dfB:
        dfC[ip]= dfB[ip]

我建议您阅读有关如何访问和修改pandas中的行和列的this教程。