小编n0r*_*0ro的帖子

Pandas 数据帧的元组列表?

我有一个元组列表列表,其中每个元组的长度都相等,我需要将元组转换为 Pandas 数据帧,使数据帧的列等于元组的长度,并且每个元组item 是跨列的行条目。

我已经咨询了有关此主题的其他问题(例如,将元组列表列表转换为熊猫数据框将元组列表列表转换为熊猫数据框将元组列表拆分为元组列表)未成功。

我得到的最接近的是来自 Stack Overflow 上不同问题的列表理解:

import pandas as pd

tupList = [[('commentID', 'commentText', 'date'), ('123456', 'blahblahblah', '2019')], [('45678', 'hello world', '2018'), ('0', 'text', '2017')]]

# Trying list comprehension from previous stack question:
pd.DataFrame([[y for y in x] for x in tupList])

Run Code Online (Sandbox Code Playgroud)

但这会产生意想不到的结果:

    0                                 1
0   (commentID, commentText, date)    (123456, blahblahblah, 2019)
1   (45678, hello world, 2018)        (0, text, 2017)
Run Code Online (Sandbox Code Playgroud)

当预期结果如下:

      0            1                 2
0     commentID    commentText       date
1     123456 …
Run Code Online (Sandbox Code Playgroud)

python tuples list-comprehension python-3.x pandas

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

Pandas:按列分组,将列表行合并到单个列中进行分组?

我有一个 Pandas 数据框,如下所示:

import pandas as pd

f1 = [['abc', 'def'], ['ghi', 'jkl'], ['mno', 'pqr'], ['stu', 'vwx'], ['yz', 'xx'], ['yx', 'zx'], ['text', 'more'], ['stuff', 'here'], ['last', 'one']]

f2 = ['1', '1', '1', '2', '2', '2', '3', '3', '3']

groups = ['GROUP A', 'GROUP A', 'GROUP A', 'GROUP B', 'GROUP B', 'GROUP B', 'GROUP C', 'GROUP C', 'GROUP C']


df = pd.DataFrame({'Groups': groups, 'Feature 1': f1, 'Feature 2': f2})
df


# DataFrame print:
    Groups    Feature 1   Feature 2
0   GROUP A …
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-groupby

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

删除跨列的反向对(Pandas)

我有一个 Pandas 数据框,如下所示:

Group1    Group2    Sim
 A         A        1.0
 A         B        0.5
 A         C        0.8
 B         B        1.0
 B         A        0.5
 B         C        0.7
 C         C        1.0
 C         A        0.8
 C         B        0.7
Run Code Online (Sandbox Code Playgroud)

和列代表两个组对,Group1列代表 Jaccard 相似度。Group2Sim

困难在于:成对 Jaccard 计算导致两个组列中出现重复对。

因此,例如,跨“组”列:A,B == B,A; A,C == C,A; 等等。

我正在努力弄清楚这个问题:如何删除两列中的冗余/反转对?(对更大的真实数据集的计算限制需要消除冗余。)

我期待以下输出:

Group1   Group2   Sim
A        B        0.5
A        C        0.8
B        C        0.7
Run Code Online (Sandbox Code Playgroud)

非常感谢任何对此的帮助。

谢谢!

python-3.x pandas

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