Python 列表到 Pandas 数据框

标签 python pandas

我有一个遵循这种格式的列表:

a=['date name','10150425010245 name1','10150425020245 name2']

我正在尝试将其转换为 Pandas df:

newlist=[]
for item in a:
    newlist.append(item.split(' '))

现在,将其转换为 df:

pd.DataFrame(newlist)

结果

                  0     1
0              date  name
1    10150425010245 name1
2    10150425020245 name2

我想将“日期”和“姓名”作为标题,但我做不到。有没有比这更有效的自动将字符串列表转换为数据框的方法?

最佳答案

这是一种方法。

使用列表理解而不是循环。

In [160]: data = [x.split('') for x in a]

In [161]: data
Out[161]: [['date', 'name'], ['10150425010245', 'name1'], ['10150425020245', 'name2']]

然后使用 data[1:] 作为值,使用 data[0] 作为列名。

In [162]: pd.DataFrame(data[1:], columns=data[0])
Out[162]:
             date   name
0  10150425010245  name1
1  10150425020245  name2

关于Python 列表到 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882965/

相关文章:

python - 如何在 pandas DataFrame 中按索引仅保留一组特定行

python - Flask python manage.py db 升级引发错误

python - Django 1.5.2 管理站点没有添加或更改按钮

python - SVM 自定义 RBF 内核 IndexError

python - 如何对 Pandas 列中的唯一名称使用 groupby 和 cumcount

python - 带和不带括号的 pandas 逻辑和运算符产生不同的结果

python - 如何在python中按时间间隔对CSV文件进行排序

python - 函数定义后装饰?

python - 通过采用相对于其他系列的相交索引来过滤掉一个系列

python - 从 Dataframe 列中获取数值并将其添加到单独的列中