python - 如何从数据框中删除方括号
问题描述
我看到了许多与我的问题相关的链接:
但这些都不起作用
下面是我的例子:
df1
column1 column2 column3 ..... upto 'n' number of columns
[data1] data1 data1
NAN data2 data2
[data2] data3 [data3, data3, testing how are you guys hope you guys are doing :)]
[data3] data3 [data4, dummy text to test to test test test]
NAN data4 [data5]
以下是我尝试过的代码:
df1[column1] = df[column1].str[0]
# not working !
# want to give df1 instead of df1[columns] because there are lot of
# columns
我只想删除括号,而不是其他任何东西,并且只想提供数据框而不是列,因为有很多列!
预期输出:
column1 column2 column3 ..... upto 'n' number of columns
data1 data1 data1
NAN data2 data2
data2 data3 data3, data3, testing how are you guys hope you guys are doing :)
data3 data3 data4, dummy text to test to test test test
NAN data4 data5
解决方案
尝试apply
,explode
和groupby
:
>>> df.apply(lambda x: x.explode().astype(str).groupby(level=0).agg(", ".join))
column1 column2 column3
0 data1 data1 data1
1 nan data2 data2
2 data2 data3 data3, data3, testing how are you guys hope yo...
3 data3 data3 data4, dummy text to test to test test test
4 nan data4 data5
- 用于
pandas.explode()
将每个列表元素转换为自己的行,复制索引值。 - 然后
groupby
使用相同的索引值和聚合str.join()
。 - 用于
apply
将相同的函数应用于 DataFrame 的所有列。
推荐阅读
- javascript - Deno 运行时无法访问 RabbitMQ 消费者内部的 Deno 环境
- python - 在一个数据框中添加两个数据框列
- c++ - 在 C++ 中调整向量大小的最佳策略
- javascript - 使用 classList.remove 或 classList.Add 时如何制作动画
- php - -dynamic- PHP 应用程序是否比 NodeJS 应用程序性能更高?
- animation - 有没有办法在 Blender 中复制和翻转整个对象、骨架及其动画?
- java - 在字符串中查找第 k 个字符
- javascript - Vue 组件 - 将道具传递给类不起作用?
- xslt - xslt 具有 2 个具有相同结构和多个级别的不同 XML 文件
- java - 不了解使用依赖注入框架的好处