小编elj*_*o67的帖子

将函数应用于DataFrame中的每个单元格

我有一个可能如下所示的数据框:

A        B        C
foo      bar      foo bar
bar foo  foo      bar
Run Code Online (Sandbox Code Playgroud)

我想查看每行的每个元素(或每列的每个元素)并应用以下函数来获取后续DF:

def foo_bar(x):
    return x.replace('foo', 'wow')

A        B        C
wow      bar      wow bar
bar wow  wow      bar
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的单行程可以为每个单元格应用一个函数?

这是一个简单的示例,因此除了应用函数之外,可能有更简单的方法来执行此特定示例,但我真正要问的是如何在数据帧中的每个单元格中应用函数.

python apply dataframe pandas

55
推荐指数
1
解决办法
4万
查看次数

检查另一个数据框中是否存在多行

我有两个数据框。我想查看另一个数据框中是否存在特定行(完整)。df_subset 中的示例行:

id    category    value    date
1     A           10       01-01-15
3     C           10       03-01-15
Run Code Online (Sandbox Code Playgroud)

另一个 df_full:

id    category    value    date
1     A           10       01-01-15
2     B           10       02-01-15
3     C           10       03-01-15
4     D           16       04-01-15
Run Code Online (Sandbox Code Playgroud)

有没有办法检查一个数据帧的行是否存在于另一个数据帧中?像这样的东西(显然这不起作用):df_subset in df_full,存在吗?

> True
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

5
推荐指数
1
解决办法
6148
查看次数

在 For 循环中增量追加到 JSON 文件

有没有办法在 python 的 for 循环中将单个 JSON 对象附加到 json 文件。我不想将所有数据存储在一个巨大的 json 对象中并一次全部转储,因为我计划执行数百万个 API 请求。我想发出一个 API 请求,将结果转储到 JSON 文件中,然后移动到下一个 API 请求并将其转储到同一个JSON 文件中。

下面的代码覆盖了 JSON 文件,我正在寻找附加的东西。

for url in urls:
    r = sesh.get(url)
    data = r.json()

    with open('data.json', 'w') as outfile:
        json.dump(data, outfile)
Run Code Online (Sandbox Code Playgroud)

这样:

with open('data.json') as outfile:
    data = json.load(data, outfile)

type(data)
>> dict
Run Code Online (Sandbox Code Playgroud)

r.json 看起来像这样:

{'attribute1':1, 'attribute2':10}
Run Code Online (Sandbox Code Playgroud)

python api json for-loop

2
推荐指数
1
解决办法
6909
查看次数

按日期范围分组与熊猫

我希望按两列分组:user_id和date; 但是,如果日期足够接近,我希望能够将两个条目视为同一组和组的相应部分.日期是mdy

user_id     date       val
1           1-1-17     1
2           1-1-17     1
3           1-1-17     1
1           1-1-17     1
1           1-2-17     1
2           1-2-17     1
2           1-10-17    1
3           2-1-17     1
Run Code Online (Sandbox Code Playgroud)

分组将按user_id分组,日期为+/- 3天.所以通过求和val的组看起来像:

user_id     date       sum(val)
1           1-2-17     3
2           1-2-17     2
2           1-10-17    1
3           1-1-17     1
3           2-1-17     1
Run Code Online (Sandbox Code Playgroud)

有人可以想到这可以(有点)轻松完成吗?我知道这有一些问题.例如,如果日期与三天之间无休止地串起来怎么办.但我使用的确切数据每人只有2个值..

谢谢!

python datetime group-by pandas pandas-groupby

2
推荐指数
1
解决办法
4848
查看次数

标签 统计

python ×4

pandas ×3

dataframe ×2

api ×1

apply ×1

datetime ×1

for-loop ×1

group-by ×1

json ×1

numpy ×1

pandas-groupby ×1