Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 将包中的函数应用于Python中的一列_Python 3.x_Pandas_Dataframe_Apply - Fatal编程技术网

Python 3.x 将包中的函数应用于Python中的一列

Python 3.x 将包中的函数应用于Python中的一列,python-3.x,pandas,dataframe,apply,Python 3.x,Pandas,Dataframe,Apply,给定一个小数据集,如下所示: id floor room company 0 1 1 101.0 NaN 1 2 1 102.0 繁簡轉換器 ---> need to convert 2 3 2 201.0 缔美诗药妆皮肤管理中心 3 4 2 201.0 TT潮牌造型设计(上海) 4 5 2 202.0

给定一个小数据集,如下所示:

   id  floor   room          company
0   1      1  101.0              NaN
1   2      1  102.0            繁簡轉換器    ---> need to convert 
2   3      2  201.0      缔美诗药妆皮肤管理中心
3   4      2  201.0     TT潮牌造型设计(上海)
4   5      2  202.0     TT潮牌造型设计(北京)
5   6      3    NaN            繁簡轉換器    ---> need to convert 
6   7      3  201.0              NaN
7   8      3  301.0  湖南杰牌传动科技发展有限公司
我需要使用此工具将
company
列从繁体中文转换为简体中文

我用字符串
繁簡轉換器,它将成功转换:

>>> from hanziconv import HanziConv
>>> print(HanziConv.toSimplified('繁簡轉換器'))
繁简转换器
但当我尝试将其应用于
公司
列时:

from hanziconv import HanziConv
df['company'] = df['company'].apply(HanziConv.toSimplified())
它返回一个错误:
TypeError:toSimplified()缺少1个必需的位置参数:“text”


有人能帮助解决这个问题吗?非常感谢。

我不知道HanziConv的情况,但这可能是工作


df['company']=df['company'].astype(str).apply(HanziConv.toSimplified)

是的,如果
company
列中没有
NaN
s,则此操作有效,否则,它将返回
TypeError:“float”对象不可写
。将
NaN
更改为其他空字符串,如“”。或者创建包装函数,仅当
company
不可用时调用
HanziConv.toSimplified
,如果我有多个列要转换,
df[[company1',company2']].astype(str).apply(HanziConv.toSimplified)
引发错误
ValueError:使用iterable设置时必须具有相等的len键和值