从排列表创建数据帧,并遍历它

注 - 我问这个问题,假设我的问题是与数据帧的构造,但实际上我的问题是与iterrows()从排列表创建数据帧,并遍历它

我想创建一个大熊猫数据帧从列表中取出一行,其中每一行都是值列表。我曾尝试以下:

multigram_counts = [ 

["happy birthday", 23],

["used below", 10],

["frame for", 2]

]

df = pd.DataFrame(multigram_counts, columns = ["phrase", "count"])

df_iter = df.iterrows()

frow = df_iter.next()

self.assertEqual(frow['phrase'], "happy birthday")

,但我得到了以下错误:

TypeError: tuple indices must be integers, not str 

我该如何解决这个问题,使我在“assertEqual便”功能,这两个参数确实是平等的吗?也就是说,我希望frow ['phrase']等于“生日快乐”。

回答:

df_iter包含(索引行)作为一个元组,只得到该行,试试这个:

f_index, frow = df_iter.next() 

回答:

你的frow变量是一个元组,你称它为字典,如果我是你,我会调试它以知道frow的值是多少。

回答:

以下为我的作品,如果你只是想在第一行,然后使用iloc

In [99]: 

multigram_counts = [

["happy birthday", 23],

["used below", 10],

["frame for", 2]

]

df = pd.DataFrame(multigram_counts, columns = ["phrase", "count"])

df.iloc[0]['phrase'] == 'happy birthday'

Out[99]:

True

DF看起来是这样的:

In [100]: 

df

Out[100]:

phrase count

0 happy birthday 23

1 used below 10

2 frame for 2

以上是 从排列表创建数据帧,并遍历它 的全部内容, 来源链接: utcz.com/qa/267210.html

回到顶部