如何在Jupyter Notebook中添加行?求解ValueError报错问题
问题解决:ValueError: Length of values (8) does not match length of index (7)
报错原因
你这段代码是尝试给DataFrame df_t 新增一列My address,但赋值的列表包含8个元素,而当前df_t只有7行(索引长度为7)。Pandas要求新增列的元素数量必须与DataFrame的行数完全匹配,因此触发了这个错误。
分场景解决方案
场景1:确实要新增列(调整元素数量匹配行数)
把赋值的列表长度改成7个元素即可,比如去掉多余的元素:
df_t["My address"] = ["My address",7,"My city","My State","My Country","My Shop",12]
或者通过切片截取前7个元素:
df_t["My address"] = ["My address",7,"My city","My State","My Country","My Shop",12,"My Continent"][:7]
场景2:实际想添加行(而非列)
你提到想“添加行”,但当前代码写法是新增列,正确的添加行方式如下:
- 推荐使用
pd.concat(适配Pandas 2.0+版本):
import pandas as pd # 构造新行的DataFrame new_rows = pd.DataFrame({"My address": ["My address",7,"My city","My State","My Country","My Shop",12,"My Continent"]}) # 合并到原DataFrame df_t = pd.concat([df_t, new_rows], ignore_index=True)
- 旧版本Pandas可使用
append(注意该方法已被标记为弃用):
new_row = pd.Series(["My address",7,"My city","My State","My Country","My Shop",12,"My Continent"], name='My address') df_t = df_t.append(new_row, ignore_index=True)
内容的提问来源于stack exchange,提问作者Monoare Mamun
相关产品推荐
相关产品推荐

