python - 如何按单词分组并创建由浮点值组成的等效列?(熊猫)
问题描述
我有一个数据框:
Text
Background
Clinical
Method
Direct
Background
Direct
现在我想根据他们的第一个单词将它们分组在新列中,例如Background
属于第 1 组Clinical
属于第 2 组,就像这样。
预期输出:
一个数据框:
Text Group
Background 1
Clinical 2
Method 3
Direct 4
Background 1
Direct 4
解决方案
尝试这个:
import pandas as pd
text = ['Background', 'Clinical', 'Method', 'Direct', 'Background', 'Direct']
df = pd.DataFrame(text, columns=['Text'])
def create_idx_map():
idx = 1
values = {}
for item in list(df['Text']):
if item not in values:
values[item] = idx
idx += 1
return values
values = create_idx_map()
df['Group'] = [values[x] for x in list(df['Text'])]
print(df)
推荐阅读
- arrays - 如何在 numpy 数组中找到从一个元素到下一个元素的状态转换?
- java - 如何修复 Java 中的错误源文件错误?
- r - ggplot 仅针对属于特定级别的点显示 Pareto Front
- python - 在 Jupyter Lab 中设置项目路径
- laravel - 获取关系表结果的总数
- python - 如何在 Python 中使用索引打印素数的真/假列表?
- c - for 循环内的 for 循环可以在没有大括号的情况下工作吗?
- django - 在多对多 Django 休息框架上发布
- java - java中的pkcs11 cmac计算
- react-native - ffmpeg mov 到 mp4:不够快