首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何附加在for循环中创建的唯一列表

如何附加在for循环中创建的唯一列表
EN

Stack Overflow用户
提问于 2021-03-23 12:10:03
回答 1查看 31关注 0票数 0

我有一份关于电影的数据

df = pd.read_csv("https://raw.githubusercontent.com/Giovanni1085/UvA_CSDA_2021/main/assignments/miniproject/Pudding-Film-Dialogue-Clean.csv"

它有每部电影的genderproportion_of_dialogue栏。后一栏显示每个人物的对话比例,而“性别”栏显示的是性别。

我想要创建一个for循环,它遍历每一行,并在每一行在几个字符之后生成一个新的字典。我想在这本字典里列出男女对话的比例。这一切都在它自己的字典里。其结果将是:

我有的是这个(很多):

代码语言:javascript
复制
proportion_per_film_dictionary  = {}
prop_woman = 0
prop_man = 0

for i in range(len(df.index)):
  if df.loc[i,'index1'] == 0:           #I made a column with the index so I could do this for the first row
    dct['film_%s' %i] = []
    if df.loc[i, 'gender'] == 'woman':
      prop_woman = prop_woman + df.loc[i,'proportion_of_dialogue']
    if df.loc[i,'gender'] == 'man':
      prop_man = prop_man + df.loc[i,'proportion_of_dialogue']
    if df.loc[i,'title'] != df.loc[i+1,'title']:
      dct['film_%s'%i].append(prop_man)
      dct['film_%s'%i].append(prop_woman)
      proportion_per_film_dictionary.append(dct['film_%s'%i])
      prop_woman = None
      prop_man = None
  
  elif df.loc[i,'title'] == df.loc[i+1,'title']:
    if df.loc[i, 'gender'] == 'woman':
      prop_woman = prop_woman + df.loc[i,'proportion_of_dialogue']
    if df.loc[i,'gender'] == 'man':
      prop_man = prop_man + df.loc[i,'proportion_of_dialogue']
    
  elif df.loc[i,'title'] != df.loc[i+1, 'title']:
    if df.loc[i, 'gender'] == 'woman':
      prop_woman = prop_woman + df.loc[i,'proportion_of_dialogue']
    if df.loc[i,'gender'] == 'man':
      prop_man = prop_man + df.loc[i,'proportion_of_dialogue']
    if df.loc[i,'title'] != df.loc[i+1,'title']:
      dct['film_%s'%i].append(prop_man)
      dct['film_%s'%i].append(prop_woman)
      proportion_per_film_dictionary.append(dct['film_%s'%i])
      prop_woman = None
      prop_man = None

这段代码显示了每个电影标题上的迭代,我首先也尝试了i-1,但显然Python不执行-1,尽管它做了+1

我现在得到以下错误:

dict‘object没有属性'append’

我也不知道原因。有人能帮我吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-23 12:22:10

在python字典中,您不使用append,这是用于列表的。对于字典来说,通过分配一个键来增加一个新值就足够了。如下所示:

代码语言:javascript
复制
dct['film_%s'%i] = prop_man
dct['film_%s'%i] = prop_woman
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66762879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档