【发布时间】:2019-01-07 13:28:52
【问题描述】:
我有一个文件,其中包含如下数据:
x y
z w
a b
a x
w y
我想创建一个包含以下替换字典的文件,该字典对每个字符串都有一个唯一的替换编号,该替换编号由从左到右和从上到下读取时字符串首次出现在文件中的顺序确定底部(注意这个应该被创建,它没有提供):
{'x':1, 'y':2, 'z':3, 'w':4 , 'a':5, 'b':6}
输出文件将是:
1 2
3 3
5 6
5 1
4 2
有没有什么有效的方法可以用 Pandas 创建已处理的文件和字典?
我想在以下策略中创建字典:
_counter = 0
def counter():
global _counter
_counter += 1
return _counter
replacements_dict = collections.defaultdict(counter)
【问题讨论】:
-
你是如何导出字典的?如果它是一个输入,那么您将无法获得比
d = {'x':1, 'y':2, 'z':3, 'w':4, 'a':5, 'b':6}更高效的方法。 -
Pandas 将如何创建字典?看起来您自己定义了替换。
-
你的意思是字典是通过收集行,放在一起,丢弃重复的元素来创建的?
-
您好,我添加了可以帮助创建字典的代码。是的,字典应该在航班上创建,而不是硬编码。
-
我在结果字典中看不到任何模式。这些值看起来很随意。
标签: python pandas dictionary dataframe pandas-groupby