python - 如何将更长的列表附加到数据框
问题描述
我想将更长的列表附加到数据框。但是得到一个错误 ValueError: Length of values (4) does not match length of index (3)
import pandas as pd
df = pd.DataFrame({'Data': ['1', '2', '3']})
df['Data2'] =['1', '2', '3', '4']
print(df)
我该如何解决它。
解决方案
用于DataFrame.reindex
通过新列表或原始 DataFrame 按最大长度添加新行,如果列表的长度应更改,有时长度相同或有时长度更短:
df = pd.DataFrame({'Data': ['1', '2', '3']})
L = ['1', '2', '3', '4']
df = df.reindex(range(max(len(df), len(L))))
df['Data2'] = L
print (df)
Data Data2
0 1 1
1 2 2
2 3 3
3 NaN 4
如果总是列表长度更长:
df = df.reindex(range(len(L)))
df['Data2'] = L
推荐阅读
- node.js - git :open(" "): 没有这样的文件或目录
- java - NoSuchFileException java
- flutter - 如何在 Flutter Listview 中逐个滚动,逐个图像滚动,而不显示两个半图像?
- kotlin - Kotlin 协程的 CompletableFuture 等价物是什么?
- arrays - 如何在 MongoDB 中用 root 替换对象键
- python-3.x - Python3:静态检查类型。协议类实现
- cisco - CISCO Webex Teams 中的 Html 表
- r - 如何使用 dplyr 过滤多列中的 NA
- python - 这对于将重力建模为二阶 ODE 是否正确?
- android-studio - 未解决的小部件参考