python - 在 Pandas 中附加 csv 时,获取 float' 对象不可迭代
问题描述
我正在尝试使用 panda df 删除 csv 文件单元格中的重复单词。我发现一些有用的代码可以帮助我读取 csv 并附加到新的 csv 文件。下面是数据集的一个例子。
df = pd.DataFrame({'a': ['Anakin Ana, Anakin Ana', 'Anakin Ana, Chris Cannon', 'Chris Cannon', 'Bella Bold, Chris Cannon, Bella Bold'],
'b': ['Bella Bold, Chris Cannon, Chris Cannon', 'Donald Deakon', 'Bella Bold, Bella Bold, ', 'Bella Bold'],
'c': ['Chris Cannon', 'Chris Cannon, Donald Deakon, Donald Deakon', 'Chris Cannon', 'Anakin Ana, Bella Bold, Bella Bold']},
index=[0, 1, 2])
我试图只删除每个单元格中的重复项。我的数据中有很多列,但我只尝试了“pub_emp_year”列之一。
import pandas as pd
import csv
filepath = "C:/data/Untitled Folder/creditdata.csv"
df = pd.read_csv(filepath,encoding='utf-8')
for col in ["pub_emp_year"]:
df[col]=df[col].str.split(", ").map(set).str.join(", ")
df.to_csv('creditdata2.csv',mode='a',index=False)
但我得到一个错误说
TypeError Traceback (most recent call last)
<ipython-input-11-639c2df4be78> in <module>
5
6 for col in ["pub_emp_year"]:
----> 7 df[col]=df[col].str.split(", ").map(set).str.join(", ")
8
9 df.to_csv('creditdata2.csv',mode='a',index=False)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py in map(self, arg, na_action)
3628 dtype: object
3629 """
-> 3630 new_values = super()._map_values(arg, na_action=na_action)
3631 return self._constructor(new_values, index=self.index).__finalize__(self)
3632
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\base.py in _map_values(self, mapper, na_action)
1143
1144 # mapper is a function
-> 1145 new_values = map_f(values, mapper)
1146
1147 return new_values
pandas\_libs\lib.pyx in pandas._libs.lib.map_infer()
TypeError: 'float' object is not iterable
我发现当我不匹配列表和浮动时会发生这种情况,但不确定我做了什么浮动导致我的所有数据都是列表。
解决方案
亨利的帮助解决了这个问题!这工作得很好。
import pandas as pd
import csv
filepath = "C:/Users/Jimmy Kim/data/Untitled Folder/creditdata.csv"
df = pd.read_csv(filepath,encoding='utf-8')
for col in ["pub_emp_year" ]:
df[col] = df.loc[df[col].notna(), col].str.split(", ").map(set).str.join(", ")
df.to_csv('creditdata2.csv',mode='a',index=False)
推荐阅读
- python - python:如何计算结构张量的特征值和特征向量?
- python - 将 FFMPEG 添加到 macOS 路径以在 Python 中将 mp3 转换为 WAV 的问题
- json - Javascript - 从对象中获取返回 json
- javascript - 如何解决 slick.js 的“未捕获的类型错误:无法读取未定义的属性”
- java - Gson @AutoValue 和 Optional<> 不能一起工作,有解决方法吗?
- java - 如何在处理 DataIntegrityViolationException 时获取密钥的名称?
- laravel - 如何初始化一个组件
- java - Gradle 配置文件使用 System.setProperty 获取未知属性
- r - 如何为两组数据以数字方式对 ggplot2 上的 x 轴进行排序?
- python - 动态初始表单数据