小编Zho*_*Xie的帖子

NetworkX OutEdge查看列表

我需要将 networkx Edge 的 OutEdgeView 数据隐藏到列表中。

我记得graph.edges(data=True)用来返回一个列表,例如[u,v,{data}]. 但现在网络返回了一些东西OutEdgeView([u,v,{data}])。我怎样才能得到原始的列表?

谢谢

python dictionary list networkx

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

使用熊猫单元格中的列表长度选择行

我有一张桌子 df

    a   b    c
1   x   y   [x]

2   x   z   [c,d]

3   x   t   [e,f,g]
Run Code Online (Sandbox Code Playgroud)

只是想知道如何使用 c 列的长度选择行

df.loc[len(df.c) >1]
Run Code Online (Sandbox Code Playgroud)

我知道这是不对的......什么应该是正确的?

python select list loc pandas

4
推荐指数
2
解决办法
6436
查看次数

Pandas 将 groupby 总和值分配给原始表中的最后一行

例如,我有一张桌子

一种

id  price sum
1     2    0
1     6    0
1     4    0
2     2    0
2     10   0
2     1    0
2     5    0
3     1    0
3     5    0
Run Code Online (Sandbox Code Playgroud)

我想要的是(最后一行sum应该是price一组的总和)

id  price sum
1     2    0
1     6    0
1     4    12
2     2    0
2     10   0
2     1    0
2     5    18
3     1    0
3     5    6
Run Code Online (Sandbox Code Playgroud)

我能做的是找出总和使用

A['price'].groupby(A['id']).transform('sum')
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何将它分配给sum列(最后一行)。

谢谢

python indexing group-by sum pandas

4
推荐指数
2
解决办法
1328
查看次数

更新熊猫groupby()。last()的列值

给定数据框:

dfd = pd.DataFrame({'A': [1, 1, 2,2,3,3],
                    'B': [4, 5, 6,7,8,9],
                    'C':['a','b','c','c','d','e']
                   })
Run Code Online (Sandbox Code Playgroud)

我可以通过使用找到每个A组的最后一个C值

dfd.groupby('A').last()['C']
Run Code Online (Sandbox Code Playgroud)

但是,我想将C值更新为np.nan。我不知道该怎么做。方法如:

def replace(df):
    df['C']=np.nan
    return replace

dfd.groupby('A').last().apply(lambda dfd: replace(dfd))
Run Code Online (Sandbox Code Playgroud)

不起作用。

我想要这样的结果:

dfd_result= pd.DataFrame({'A': [1, 1, 2,2,3,3],
                    'B': [4, 5, 6,7,8,9],
                    'C':['a',np.nan,'c',np.nan,'d',np.nan]
                   })
Run Code Online (Sandbox Code Playgroud)

python lambda apply pandas pandas-groupby

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

列表附加在pandas单元格中

我有一个数据框,其中包含列中的列表项.

示例:df:

column1, column2, column3
1         'c'       ['d']
2         'x'       []
3         'foo'     ['car']
Run Code Online (Sandbox Code Playgroud)

所以我想将另一个项目附加到column3中

结果应该是这样的

column1, column2, column3
1         'c'       ['d','t']
2         'x'       ['t']
3         'foo'     ['car','t']
Run Code Online (Sandbox Code Playgroud)

目前我使用这样的方法

df['column3']=df['column3'].apply(lambda x: x.append('t'))
Run Code Online (Sandbox Code Playgroud)

但是第3列成了

column1, column2, column3
1         'c'       none
2         'x'       none
3         'foo'     none
Run Code Online (Sandbox Code Playgroud)

想知道如何使用应用功能

python types list append pandas

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