python - 无法在 DataFrame 中添加列名称

标签 python pandas numpy csv data-science

这是我打印后的示例 csv 文件:

  1556890689.332073;16384;340;48188.23529411765;[1618.6294555664062   1619.0826416015625  ...   1620.391845703125.584   1620.1904296874998]
0  1556890689.746113;16384;341;48046.92082111437;...                         1619.082642  ...             1620.442200   1619.6868896484373]
1  1556890690.1393259;16384;340;48188.23529411765...                         1620.643616  ...             1619.888306       1619.384765625]
2  1556890690.536072;16384;340;48188.23529411765;...                         1619.737244  ...             1620.089722    1620.391845703125]

我尝试运行这个:

import pandas as pd

data = pd.read_csv("project_fan.csv", error_bad_lines = False) 
print(data.head())
data.columns['unixTime', 'sampleAmount','Time','samplingRate', 'Data']

并得到这些错误:

Traceback (most recent call last):
  File "new.py", line 6, in <module>
    data.columns['unixTime', 'sampleAmount','Time','samplingRate', 'Data']
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/indexes/base.py", line 3969, in __getitem__
    result = getitem(key)
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

最佳答案

read_csv 中的默认分隔符参数是 ,,所以需要添加参数 sep=';',对于新列名称,如果 csv 中不存在则添加参数 names 列表的长度与列数相同:

names = ['unixTime', 'sampleAmount','Time','samplingRate', 'Data']
data = pd.read_csv("project_fan.csv", sep=';', error_bad_lines = False, names=names) 

关于python - 无法在 DataFrame 中添加列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59788698/

相关文章:

python - 如何去掉频率之间的 'click'?

python - "Correct"与 numpy 对象交互的方式

python - python 中的 lapply 等效函数

python - 如何将列表的每个元素保存在 .txt 文件中,每行一个?

python - 检查 Pandas 数据框的异常值

python - Python Pandas 中的困难 Dataframe Reshape

python - 通过多个字符串选择 pandas 列

python - 如何堆叠两个numpy数组的每n行

python - 将 Pandas Dataframe 转换为数组并评估多元线性回归模型

python - 为什么这个 if 和 elif 语句没有完全执行?