Python:将列表写入 Pandas 中的列

标签 python list csv pandas

我有两个列表,它们都包含我想写入 csv 文件的值。所以我做的第一件事就是将我的 csv 文件导入 pandas 数据框。然后我想写两个新列并将这两个列表添加到新列中。我的代码如下。请注意,原始 csv 文件中已有几列。

import pandas as pd

df = pd.read_csv('1.csv')  ## 1.csv is the csv file I want to import. 


a = [0.001, 5, 38, 70, 101, 140, 190]

b= [35, 65,  100, 160, 170, 200]

df['Start Time'] = a
df['End Time'] = b 

df.to_csv('1.csv')

但是,当我运行这段代码时,它给了我如下错误,

ValueError: Length of values does not match length of index

如果有人知道如何解决这个问题,请告诉我。赞赏!

最佳答案

我认为您需要先创建 Series,但是如果长度与数据框:

df['Start Time'] = pd.Series(a, index = df.index[:len(a)])
df['End Time'] = pd.Series(b, index = df.index[:len(b)]) 

示例:

df = pd.DataFrame({'a':range(10)})

a = [0.001, 9, 46, 84, 122, 153, 198]
b= [39, 76,  114, 150, 158, 210]

df['Start Time'] = pd.Series(a, index = df.index[:len(a)])
df['End Time'] = pd.Series(b, index = df.index[:len(b)]) 
print (df)
   a  Start Time  End Time
0  0       0.001      39.0
1  1       9.000      76.0
2  2      46.000     114.0
3  3      84.000     150.0
4  4     122.000     158.0
5  5     153.000     210.0
6  6     198.000       NaN
7  7         NaN       NaN
8  8         NaN       NaN
9  9         NaN       NaN

关于Python:将列表写入 Pandas 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44782033/

相关文章:

python - 如何为nodejs运行像pm2这样的python脚本

python - 我正在尝试通过在 Python 中组合 3 个列表来创建 3D 点列表

python - 为函数指定 matplotlib 图形和轴的惯用方法是什么?

python - 如何从 pandastable 保存数据?

python - 为什么 python 中的列表会这样?

json - 如何从Grails中的JSON列表生成JSON

mysql - 使用跨所有列的多个 Ruby 查询创建 CSV

list - 方案指南 : remove only first occurrence from a list (non destructive)

python - Pandas - 使用 to_csv 写入多索引行

python - 从一个 pandas 数据帧写入多个文件