相关疑难解决方法(0)

爆炸 pandas 数据框列

我有一个 Pandas 数据框,看起来像这样:

text = ["abcd", "efgh", "ijkl", "mnop", "qrst", "uvwx", "yz"]

labels = ["label_1, label_2", 
          "label_1, label_3, label_2", 
          "label_2, label_4", 
          "label_1, label_2, label_5", 
          "label_2, label_3", 
          "label_3, label_5, label_1, label_2", 
          "label_1, label_3"]

df = pd.DataFrame(dict(text=text, labels=labels))
df



   text                              labels
0  abcd                    label_1, label_2
1  efgh           label_1, label_3, label_2
2  ijkl                    label_2, label_4
3  mnop           label_1, label_2, label_5
4  qrst                    label_2, label_3
5  uvwx  label_3, label_5, label_1, label_2
6    yz                    label_1, label_3
Run Code Online (Sandbox Code Playgroud)

我想将数据框格式化为如下所示:

text  label_1  label_2  label_3  label_4  label_5

abcd        1.0 …
Run Code Online (Sandbox Code Playgroud)

python string text dataframe pandas

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

pandas:分割字符串和计数值?

我有一个 pandas 数据集,其中有一列以逗号分隔的字符串,例如1,2,3,10

data = [
  { 'id': 1, 'score': 9, 'topics': '11,22,30' },
  { 'id': 2, 'score': 7, 'topics': '11,18,30' },
  { 'id': 3, 'score': 6, 'topics': '1,12,30' },
  { 'id': 4, 'score': 4, 'topics': '1,18,30' }
]
df = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)

我想获得 中每个值的计数和平均分数topics。所以:

topic_id,count,mean
1,2,5
11,2,8
12,1,6
Run Code Online (Sandbox Code Playgroud)

等等。我怎样才能做到这一点?

我已经做到了:

df['topic_ids'] = df.topics.str.split()
Run Code Online (Sandbox Code Playgroud)

但现在我想我想爆炸topic_ids,所以整个值集中的每个唯一值都有一列......?

python pandas

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

将多个词典组合成一个长格式的pandas数据帧

我有几个字典设置如下:

Dict1 = {'Orange': ['1', '2', '3', '4']}
Dict2 = {'Red': ['3', '4', '5']}
Run Code Online (Sandbox Code Playgroud)

我希望输出是一个组合数据帧:

| Type | Value |
|--------------|
|Orange|   1   |
|Orange|   2   |
|Orange|   3   |
|Orange|   4   |
| Red  |   3   |
| Red  |   4   |
| Red  |   5   |
Run Code Online (Sandbox Code Playgroud)

我尝试将所有内容拆分,但我只在此数据帧中获得Dict2.

mydicts = [Dict1, Dict2]
for x in mydicts:
    for k, v in x.items():
        df = pd.DataFrame(v)
        df['Type'] = k
Run Code Online (Sandbox Code Playgroud)

python dictionary dataframe pandas

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

在列表的pandas列中获取元素频率的有效方法

我试图计算pandas DataFrame列中元素的频率.

一些玩具数据:

d = pd.DataFrame({'letters':[['a', 'b', 'c'], np.nan, ['a', 'e', 'd', 'c'], ['a', 'e', 'c']]})
Run Code Online (Sandbox Code Playgroud)

我能想到的是遍历行并向字典添加值:

letter_count = {}
for i in range(len(d)):
    if d.iloc[i, ]['letters'] is np.nan:
        continue
    else:
        for letter in d.iloc[i, ]['letters']:
            letter_count[letter] = letter_count.get(letter, 0) + 1
Run Code Online (Sandbox Code Playgroud)

这对我有用,除非它的数据集很大,因此速度不是很快.我假设通过避免明确的for循环可能有所帮助,但我无法想出更多'pandasian'方法来做到这一点.

任何帮助表示赞赏.

python pandas

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

将 Pandas 中的句子拆分为句子编号和单词

我有一个像这样的熊猫数据框:

Text            start    end    entity     value
I love apple      7       11    fruit      apple
I ate potato      6       11    vegetable  potato
Run Code Online (Sandbox Code Playgroud)

我试图使用 for 循环它运行缓慢,我认为这不是我们应该对熊猫做的事情。

我想基于此创建另一个熊猫数据框,例如:

Sentence#         Word        Tag
  1                I         Object 
  1               love       Object
  1               apple      fruit
  2                I         Object
  2               ate        Object
  2               potato     vegetable
Run Code Online (Sandbox Code Playgroud)

将文本列拆分为单词和句子编号。除实体词外,其他词将被标记为对象。

python pandas

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

根据条件从另一个数据框列获取值

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

>>> df1
           a   b
0  [1, 2, 3]  10
1  [4, 5, 6]  20
2     [7, 8]  30
Run Code Online (Sandbox Code Playgroud)

另一个像:

>>> df2
   a
0  1
1  2
2  3
3  4
4  5
Run Code Online (Sandbox Code Playgroud)

如果 df2 的列“a”值位于 df1 的“a”中,我需要从 df1 的“b”列在 df2 中创建列“c”。在 df1 中,列“a”的每个元组都是一个列表。

我尝试从以下网址实现,但到目前为止什么也没得到: https://medium.com/@Imaadmkhan1/using-pandas-to-create-a-conditional-column-by-selecting-multiple-columns-in-两个不同-b50886fabb7d

期望结果是

>>> df2
   a  c
0  1 10
1  2 10
2  3 10
3  4 20
4  5 20
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas

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

在Pandas中爆炸具有不同长度的列表

我有一个pandas数据帧,其中一列包含不同长度的列表.在pandas中爆炸列表的解决方案都假设要爆炸的列表都具有相同的长度.

这是我的df:

    Dep     Exp     Fl-No   Shared Codes
0   20:58   20:55   LX 736  [No shared codes]
1   21:23   20:55   LX 818  [Dummy, LH 5809]
2   21:27   21:00   JU 375  [No shared codes]
4   21:28   21:00   LX 770  [Dummy, SN 5102]
7   21:31   21:10   LX 1842 [Dummy, LH 5880, TP 8184, A3 1985]
Run Code Online (Sandbox Code Playgroud)

这就是我要找的东西:

    Dep     Exp     Fl-No   Shared Codes
0   20:58   20:55   LX 736  No shared codes
1   21:23   20:55   LX 818  Dummy
1   21:23   20:55   LX 818  LH 5809
2   21:27 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

2
推荐指数
3
解决办法
918
查看次数

从奇数字典中填充pandas数据帧

我有一本字典如下:

{'header_1': ['body_1', 'body_3', 'body_2'],
 'header_2': ['body_6', 'body_4', 'body_5'],
 'header_4': ['body_7', 'body_8'],
 'header_3': ['body_9'],
 'header_9': ['body_10'],
 'header_10': []}
Run Code Online (Sandbox Code Playgroud)

我想提出一个这样的数据帧:

+----+----------+--------+
| ID | header   | body   |
+----+----------+--------+
| 1  | header_1 | body_1 |
+----+----------+--------+
| 2  | header_1 | body_3 |
+----+----------+--------+
| 3  | header_1 | body_2 |
+----+----------+--------+
| 4  | header_2 | body_6 |
+----+----------+--------+
| 5  | header_2 | body_4 |
+----+----------+--------+
| 6  | header_2 | body_5 |
+----+----------+--------+
| 7  | header_4 …
Run Code Online (Sandbox Code Playgroud)

dictionary python-3.x pandas

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

使用 pandas 将嵌套 json 转换为 csv

我正在尝试将嵌套的 json 转换为 csv 文件,但我正在努力解决文件结构所需的逻辑:它是一个包含 2 个对象的 json,我只想将其中一个对象转换为 csv,这是带嵌套的列表。

我在这篇博文中发现了非常有用的“扁平化”json 信息。我基本上已经根据我的问题调整了它,但它仍然对我不起作用。

我的 json 文件如下所示:

{
  "tickets":[
    {
      "Name": "Liam",
      "Location": {
        "City": "Los Angeles",
        "State": "CA"
      },
      "hobbies": [
        "Piano",
        "Sports"
      ],
      "year" : 1985,
      "teamId" : "ATL",
      "playerId" : "barkele01",
      "salary" : 870000
    },
    {
      "Name": "John",
      "Location": {
        "City": "Los Angeles",
        "State": "CA"
      },
      "hobbies": [
        "Music",
        "Running"
      ],
      "year" : 1985,
      "teamId" : "ATL",
      "playerId" : "bedrost01",
      "salary" : 550000
    }
  ],
  "count": 2
}

Run Code Online (Sandbox Code Playgroud)

到目前为止,我的代码如下所示: …

python csv json nested pandas

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

从多级字典创建平面数据框的最好(和最快)方法是什么

我有一本看起来像这样的字典:

dic = {'a': {'b': [1,2], 'c': [3,4]}, 'A': {'B': [10,20], 'C': [30, 40]}}
Run Code Online (Sandbox Code Playgroud)

我想获得一个带有 3 列的 2 暗数据框,如下所示:

'a' 'b'  1  
'a' 'b'  2  
'a' 'c'  3  
'a' 'c'  4  
'A' 'B'  10  
'A' 'B'  20  
'A' 'C'  30  
'A' 'C'  40  
Run Code Online (Sandbox Code Playgroud)

python pandas

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

Pandas列表:如何设置项目的dtype

我有一个数据框,其中包含多列包含列表,每行中列表的长度不同:

tweetid tweet_date    user_mentions       hashtags
00112   11-02-2014    []                  []
00113   11-02-2014    [00113]             [obama, trump]
00114   30-07-2015    [00114, 00115]      [hillary, trump, sanders]
00115   30-07-2015    []                  []
Run Code Online (Sandbox Code Playgroud)

数据帧是三个不同数据帧的连续,我不确定列表中的项是否具有相同的dtype.例如,在user_mentions列中,有时数据如下:

[00114, 00115]
Run Code Online (Sandbox Code Playgroud)

但有时是这样的:

['00114','00115'] 
Run Code Online (Sandbox Code Playgroud)

如何设置列表中项目的dtype?

python pandas

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

将多个句子标记为 python pandas 中的行

我有一个这样的文本数据框,

id      text
1       Thanks.  I appreciate your help.  I really like this chat service as it is very convenient.  I hope you have a wonderful day! thanks!
2       Got it. Thanks for the help; good nite.
Run Code Online (Sandbox Code Playgroud)

我想拆分这些文本句子并将它们与每个 id 匹配。我的预期输出是,

id      text
1       Thanks.
1       I appreciate your help.
1       I really like this chat service as it is very convenient.
1       I hope you have a wonderful day!
1       thanks!
2       Got it.
2       Thanks for the help;
2 …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk dataframe pandas

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

标签 统计

pandas ×12

python ×10

dataframe ×4

dictionary ×2

python-3.x ×2

csv ×1

json ×1

nested ×1

nlp ×1

nltk ×1

string ×1

text ×1