我正在使用Pandas,希望将行添加到已建立列的空数据框中。
到目前为止,我的代码看起来像这样。。。
def addRows(cereals,lines):
for i in np.arange(1,len(lines)):
dt = parseLine(lines[i])
dt = pd.Series(dt)
print(dt)
# YOUR CODE GOES HERE (add dt to cereals)
cereals.append(dt, ignore_index = True)
return(cereals)
然而,当我跑步的时候。。。
cereals = addRows(cereals,lines)
cereals
数据框返回时没有行,只有列。我不确定我做错了什么,但我很确定它与append方法有关。有人知道我做错了什么吗?
代码未按预期运行可能有两个原因:
>
cereals.append(dt,ignore_index=True)
没有做你认为的事情。您正试图追加一个系列,而不是数据帧。
cereals.append(dt,ignore_index=True)
不会修改谷物
,因此当您返回它时,您返回的是一个不变的副本。一个等效的函数看起来像这样:
--
>>> def foo(a):
... a + 1
... return a
...
>>> foo(1)
1
我还没有在我的机器上测试过,但我认为您的解决方案是这样的:
def addRows(cereals, lines):
for i in np.arange(1,len(lines)):
data = parseLine(lines[i])
new_df = pd.DataFrame(data, columns=cereals.columns)
cereals = cereals.append(new_df, ignore_index=True)
return cereals
顺便说一句我真的不知道线条是从哪里来的,但我至少要马上修改它,使其看起来像这样:
data = [parseLine(line) for line in lines]
cereals = cereals.append(pd.DataFrame(data, cereals.columns), ignore_index=True)
如何添加额外的行到熊猫数据框
您还可以创建一个新的数据帧,并将该数据帧附加到现有的数据帧中。例如。
>>> import pandas as pd
>>> empty_alph = pd.DataFrame(columns=['letter', 'index'])
>>> alph_abc = pd.DataFrame([['a', 0], ['b', 1], ['c', 2]], columns=['letter', 'index'])
>>> empty_alph.append(alph_abc)
letter index
0 a 0.0
1 b 1.0
2 c 2.0
正如我在链接中指出的,您也可以在DataFrame上使用loc
方法:
>>> df = empty_alph.append(alph_abc)
>>> df.loc[df.shape[0]] = ['d', 3] // df.shape[0] just finds next # in index
letter index
0 a 0.0
1 b 1.0
2 c 2.0
3 d 3.0
问题内容: 将空列添加到pandas对象的最简单方法是什么?我偶然发现的最好的东西是 有没有那么不合常理的方法? 问题答案: 如果我理解正确,则应填写作业:
问题内容: 我有一个数据框看起来像这样: 对于YEAR值,我想在原始数据帧中添加year列(1993,1994 …,2009)。如果YEAR中的值为1992,则1992列中的值应为1,否则为0。 我使用了一个非常愚蠢的for循环,但是由于我拥有大量数据集,它似乎可以永远运行。谁能帮助我,非常感谢! 问题答案: 如果您想删除该列,则可以通过进行后续操作。或者,在调用之前从中删除列:
问题内容: 我想像这样向数据框添加列“ D”: 根据以下字典: 因此结果数据框显示为: 到目前为止,我尝试了该方法,但无法弄清楚它如何与Dictionary一起工作。 问题答案: 调用并传递字典,这将执行查找并返回该键的关联值:
问题内容: 我有一些像这样的数据框: A中值 的 可能范围仅为0到7 。 另外,我有一个8个元素的列表,如下所示: 如果A列中的元素是 n ,我需要将List中的第 n 个元素插入新列,例如’D’。 如何一口气做到这一点而又不遍历整个数据框? 产生的数据框如下所示: 注意:数据框很大,迭代是最后一个选项。但是如果需要的话,我也可以将其他数据结构(如dict)排列在“ List”中的元素上。 问题答
问题内容: 我尝试更新我的插件。因此,我必须升级mysql_table。但是当尝试新列时,程序会获得异常。 这是我当前的表格: 现在,我向colum添加多一张桌子。我尝试更改表,一次工作,并添加一列,但又刷新一次,我收到此错误。 这是我的代码 这是我的错误 WordPress数据库错误:[重复的列名’say_state’] ALTER TABLE wp_customer_say添加了say_sta
从这个问题和其他问题来看,似乎不建议使用或来构建熊猫数据帧,因为每次都会重新复制整个数据帧。 我的项目涉及每30秒检索少量数据。这可能会运行3天的周末,因此有人很容易期望一次创建一行超过8000行。向该数据帧添加行的最有效方法是什么?