python - 根据单词词典创建列
问题描述
我有一组对应于数字的单词,例如:
word1, word2, word3 = 1
word4 = 2
word5, word6 = 3
word7, word8, word9 = 4
word10 = 5
我想创建一个数据框,其中有 2 列,一个是每个单词,另一个是对应的数字,例如:
Word Number
------- -------
word1 1
word2 1
word3 1
word4 2
word5 3
word6 3
word7 4
word8 4
word9 4
word10 5
如何创建字典并使用它在 Word 键和相应值的函数中创建列 Number
解决方案
这可能已经结束了,因为这个问题似乎不够清楚,但这是一种可能的方法:
- 假设您有名称以“单词”开头的变量。
- 而您想要的是从它们中创建一个 dict 以传递给 DataFrame 方法。
- 并假设您将这个 py 文件作为脚本运行,这样
__name__=='__main__'
.
这是代码示例:
import sys
import pandas as pd
word1 = word2 = word3 = 1
word4 = 2
word5 = word6 = 3
word7 = word8 = word9 = 4
word10 = 5
main_module = sys.modules['__main__']
words = [
v_name for v_name in main_module.__dict__ if v_name.startswith('word')]
# ['word1', 'word2', 'word3', 'word4', 'word5', 'word6', 'word7', 'word8', 'word9', 'word10']
numbers = [getattr(main_module, v_name) for v_name in words]
# [1, 1, 1, 2, 3, 3, 4, 4, 4, 5]
# Creating the Dict
d = {'Word': words, 'Number': numbers}
df = pd.DataFrame(data=d)
# Word Number
#0 word1 1
#1 word2 1
#2 word3 1
#3 word4 2
#4 word5 3
#5 word6 3
#6 word7 4
#7 word8 4
#8 word9 4
#9 word10 5
推荐阅读
- snowflake-cloud-data-platform - Snowflake 给我错误“SAML 响应无效或找不到匹配的用户。请联系您当地的系统管理员”
- c# - 使用 .Net Core 录制和广播 Http 直播流
- python - Pandas read_csv() 解析多种日期时间格式
- php - PHP Array 和 foreach 组合计算
- javascript - 状态更新时未从 redux 存储中获取更新状态
- reactjs - 如何更改材质ui中的默认颜色
- flutter - 如何连续关闭对话框和底页?
- webots - 电机作为速度传感器?
- reactjs - 组件链接悬停样式使用悬停
- r - 合并两列