【发布时间】:2020-10-19 21:06:39
【问题描述】:
当前数据框:我有一个 pandas 数据框,其中每个员工都有一个文本代码(所有代码都以 T 开头)和代码旁边的相关频率。所有文本代码都有 8 个字符。
+----------+-------------------------------------------------------------+
| emp_id | text |
+----------+-------------------------------------------------------------+
| E0001 | [T0431516,-8,T0401531,-12,T0517519,12] |
| E0002 | [T0701540,-1,T0431516,-2] |
| E0003 | [T0517519,-1,T0421531,-7,T0516319,9,T0500371,-6,T0309711,-3]|
| E0004 | [T0516319,-3] |
| E0005 | [T0431516,2] |
+----------+-------------------------------------------------------------+
预期的数据框:我正在尝试将数据框中的文本代码作为单独的列显示,如果员工对该代码有频率,则填充频率否则为 0。
+----------+----------------------------------------------------------------------------------------+
| emp_id | T0431516 | T0401531 | T0517519 | T0701540 | T0421531 | T0516319 | T0500371 | T0309711 |
+----------+----------------------------------------------------------------------------------------+
| E0001 | -8 | -12 | 12 | 0 | 0 | 0 | 0 | 0 |
| E0002 | -2 | 0 | 0 | -1 | 0 | 0 | 0 | 0 |
| E0003 | 0 | 0 | -1 | 0 | -7 | 9 | -6 | -3 |
| E0004 | 0 | 0 | 0 | 0 | 0 | -3 | 0 | 0 |
| E0005 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
+----------+----------------------------------------------------------------------------------------+
样本数据:
pd.DataFrame({'emp_id' : {0: 'E0001', 1: 'E0002', 2: 'E0003', 3: 'E0004', 4: 'E0005'},
'text' : {0: '[T0431516,-8,T0401531,-12,T0517519,12]', 1: '[T0701540,-1,T0431516,-2]', 2: '[T0517519,-1,T0421531,-7,T0516319,9,T0500371,-6,T0309711,-3]', 3: '[T0516319,-3]', 4: '[T0431516,2]'}
})
所以,到目前为止,我的尝试都没有成功。非常感谢任何指针/帮助!
【问题讨论】:
-
整个数据集中的代码都是以
T开头的吗? -
顺便说一句,这些不是有效的列表
-
这个问题本身很有趣,但是手动将那个数据表解析成一个dataframe实在是太痛苦了……请看一下本站share dataframes的方式。
-
@BillHuang 我的错,我完全忘记了!请立即检查。
标签: python pandas parsing nlp text-mining