python - 数据框到一系列列表
问题描述
假设我有以下数据框:
df =pd.DataFrame({'col1':[5,'',2], 'col2':['','',1], 'col3':[9,'','']})
print(df)
col1 col2 col3
5 9
1
2 2 1
有没有一种简单的方法可以把它变成一个pd.Series
列表,避免空元素?所以:
0 [5,9]
1 [1]
2 [2,2,1]
解决方案
您可以尝试使用df.values
就拿df.values
。将它们转换为列表并使用以下方法删除空元素map
:
In [2193]: df
Out[2193]:
col1 col2 col3
0 5 9
1 1
2 2 2 1
单线:
In [2186]: pd.Series(df.values.tolist()).map(lambda row: [x for x in row if x != ''])
Out[2186]:
0 [5, 9]
1 [1]
2 [2, 2, 1]
dtype: object
推荐阅读
- visual-studio-2017 - 更改“添加辅助插入符号”键盘快捷键 [visual studio]
- sql - 一年的前 10 周
- android - 如何使用 Kotlin 获取片段中的当前经度和纬度?
- google-kubernetes-engine - GKE 上的 IP 过滤
- node.js - 如何计算节点js中的工作表数量
- email - 随机电子邮件地址注册到我的网站
- r - 如何使用 geom_text 仅绘制全局最大值?
- google-cloud-functions - 在哪里存储键值对以从 Cloud Function 中进行运行时检索?
- sockets - 如何通过套接字通信将视频流从 HoloLens (C#) 传输到 PC (python)?
- google-apps-script - 从 Google 表格导出数据的密码保护