python数据框添加一列无列名_向包含列的空数据框添加行

博客指出代码无法按预期运行的两个原因,一是试图附加序列而非数据帧,二是append方法不会就地修改数据框。给出了添加行的解决方案,如定义函数、创建新数据帧附加、使用loc方法等,还给出了相应的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可能有两个原因导致代码无法按预期运行:cereals.append(dt, ignore_index = True)并没有做你认为的事情。您试图附加一个序列,而不是数据帧。

cereals.append(dt, ignore_index = True)不会就地修改cereals,因此当您返回它时,将返回一个未更改的副本。等效函数如下:

-->>> 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)

您还可以创建一个新的数据帧,然后将该数据帧附加到现有的数据帧中。E、 g>>> 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

正如我在链接中指出的,您还可以在数据帧上使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值