如何用不同数据帧中的另一个数据替换数据帧中的一个单元?

时间:2019-04-26 21:09:33

标签: python pandas

我正在尝试根据数据帧盗窃来替换数据帧dh中的值。 如果存在盗窃中的日期,我想在dh中找到对应的日期,并用1替换对应的第5列条目。

我目前(以某种程度的成功)使用下面的代码来执行此操作,但是这是永远的。有什么帮助吗?

当我尝试比较日期时,代码不起作用,因此我比较了日期的.value,这似乎可行。

import pandas as pd
from datetime import datetime

for i, row in dh.iterrows():
    for j in range(45314):

        if dh.iat[i,0].value==larceny.iat[j,0].value:
                dh.iat[i,5]=1
                print("Larceny")
                print(i,j)
                print(dh.iat[i,0],larceny.iat[j,0])
                print(dh.iat[i,0].value,larceny.iat[j,0].value,'\n\n')

基本上,dh在4年的每一天中都有一个单元。我想在“ Is_larceny”列中用1填充每小时的单元格,如果相应的年月日日小时出现在盗窃数据框中。

请帮助。我尝试了一些熊猫搜索方法,但是在比较日期以及正确搜索和替换时遇到了问题。

谢谢。

1 个答案:

答案 0 :(得分:1)

int main() {
    bool directed = true;
    graph g;
    read_graph(&g, directed);
    print_graph(&g);
    system("pause");
}

这会寻找dh.loc[dh['col1'].isin(larceny['col2']), 'col1'] = 1 中也出现在dh['col1']中的任何值,然后将larceny['col2']中的这些值设置为1。您必须替换dh['col1']和{ {1}}以及您各自的列名。