小编use*_*500的帖子

pandas:用loc迭代DataFrame索引

我似乎无法找到.loc行为背后的原因.我知道它是基于标签的,所以如果我遍历Index对象,下面的最小例子应该可行.但事实并非如此.我当然用Google搜索,但我需要一些已经掌握索引的人的其他解释.

import datetime
import pandas as pd

dict_weekday = {1: 'MON', 2: 'TUE', 3: 'WED', 4: 'THU', 5: 'FRI', 6: 'SAT', 7: 'SUN'}
df = pd.DataFrame(pd.date_range(datetime.date(2014, 1, 1), datetime.date(2014, 1, 15), freq='D'),   columns=['Date'])
df['Weekday'] = df['Date'].apply(lambda x: dict_weekday[x.isoweekday()])

for idx in df.index:
    print df.loc[idx, 'Weekday']
Run Code Online (Sandbox Code Playgroud)

python indexing pandas

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

Python pandas如何获得groupby的反转

我有两个数据框。除了一列之外,它们是相同的。我想根据第一个数据帧的平均值更改第二个数据帧的列。对于后者,我必须使用 groupby,但随后我不知道如何反转。下面是一个最小的示例,在此特定示例中 df_two 最终应与 df_one 相同。我的问题是如何从 tmp 到 df2_new - 请参阅下面的代码。

import pandas as pd


def foo(df1, df2):
    # Group by A
    groupsA_one = dict(list(df1.groupby('A', as_index=False)))
    groupsA_two = dict(list(df2.groupby('A', as_index=False)))

    for key_A in groupsA_one:
        # Group by B
        groupsB_one = dict(list(groupsA_one[key_A].groupby('B', as_index=False)))
        groupsB_two = dict(list(groupsA_two[key_A].groupby('B', as_index=False)))

        for key_B in groupsB_one:
            # Group by C
            tmp = groupsB_two[key_B].groupby('C', as_index=False)['D'].mean()   # Returns DataFrame with NaN
            tmp['D'] = groupsB_one[key_B].groupby('C', as_index=False)['D'].mean()['D']
            print tmp

    df2_new = []        # ???
    return df2_new

if __name__ == '__main__': …
Run Code Online (Sandbox Code Playgroud)

mean pandas pandas-groupby

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

从python中的元组或集合列表中查找不相交的集合

问题是:我有一个元组列表(如果需要,也可以设置)。例如:

a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6)]
Run Code Online (Sandbox Code Playgroud)

我想找到的是一个列表

r = [(1, 5, 4, 2, 3, 6, 7)]
Run Code Online (Sandbox Code Playgroud)

因为一旦所有集合放在一起,交集就不是空的。

例如

a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6), (8, 9)]
Run Code Online (Sandbox Code Playgroud)

结果应该是

r = [(1, 5, 4, 2, 3, 6, 7), (8, 9)]
Run Code Online (Sandbox Code Playgroud)

希望问题很清楚。那么在python中最优雅的方法是什么,如果有的话?

干杯

python intersection graph-theory set connected-components

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

如何在numpy中构造向量的所有可能差异的矩阵

我有一个一维数组,可以这样说:

import numpy as np
inp_vec = np.array([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

现在,我想构造一个形式的矩阵

m = [[0, 1-2, 1-3], [2-1, 0, 2-3], [3-1, 3-2, 0]]
Run Code Online (Sandbox Code Playgroud)

当然,可以使用for循环来完成此操作,但是有没有更优雅的方法呢?

python numpy array-difference

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