我有一个文件夹,里面有很多csv文件。它们看起来都很相似,列和行的名称都相同。它们的单元格中都有字符串作为值。我想沿着列和行将它们连接起来,这样所有的字符串都连接到各自的单元格中。
- 示例:**
file1.csv
| 无|1个|第二章|三个|四个|
| - ------|- ------|- ------|- ------|- ------|
| b1|彼得|房屋|灰分|平面|
| b2|卡尔|马|保罗|刀|
| b3|玛丽|苹果|琳达|胡萝卜|
| b4|绞|汽车|药草|啤酒|file2.csv
| 无|1个|第二章|三个|四个|
| - ------|- ------|- ------|- ------|- ------|
| b1|标记|绿色|你好|带|
| b2|没有|电话|匙|再见|
| b3|红色|樱桃|查理|锤|
| b4|良好|是的|好的|西蒙|
我想要的结果是字符串值之间没有分隔符:concatenated.csv
| 无|1个|第二章|三个|四个|
| - ------|- ------|- ------|- ------|- ------|
| b1|彼得马克|室内绿化|阿什哈罗|平面带|
| b2|卡尔诺|马送受话器|保罗斯彭|刀再见|
| b3|玛丽红|苹果樱桃|琳达·查理|胡萝卜锤|
| b4|绞纱|汽车是|药草好|比尔西蒙|
我不知道如何在木星笔记本里的Pandas身上做这个。
我已经尝试了几件事,但所有的要么保持一个单独的一组行或列。
3条答案
按热度按时间guicsvcw1#
如果这是您的第一个 Dataframe :
输出:
这是你的第二个 Dataframe
输出:
您可以按如下方式访问所请求的 Dataframe :
输出:
现在,如果您有许多csv文件,名称为
file1.csv
和file2.csv
等,您可以将它们全部保存在d
中,如下所示:然后构建您想要的 Dataframe ,如下所示:
qq24tv8q2#
如果性能不是问题,可以将
pandas.DataFrame.applymap
与pandas.Series.add
一起使用:或者,对于大型数据集,可以将
pandas.concat
与 listcomp 一起使用:输出:
w41d8nur3#
将多个csv文件读入一个DF是一个很常见的答案,也是你问题的第一部分,你可以找到一个合适的答案here。
之后,为了允许您同时对所有文件执行此操作,您可以使用自定义的agg函数进行融化和透视,如下所示:
导入glob导入Pandas作为PD