Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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 数据帧中整列的子字符串_Python_Pandas_Dataframe - Fatal编程技术网

Python 数据帧中整列的子字符串

Python 数据帧中整列的子字符串,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据帧“df”。在这个数据帧中,我有多个列,其中一个必须子串。 假设列名为“col”。 我可以运行下面这样的“for”循环,并对列进行子串: for i in range(0,len(df)): df.iloc[i].col = df.iloc[i].col[:9] 但我想知道,是否有一个选项,我不必使用“for”循环,而是直接使用属性。我有大量的数据,如果我这样做,数据将需要很长的时间处理。使用带方括号的str访问器: df['col'] = df['col'].str[:9

我有一个熊猫数据帧“df”。在这个数据帧中,我有多个列,其中一个必须子串。 假设列名为“col”。 我可以运行下面这样的“for”循环,并对列进行子串:

for i in range(0,len(df)):
  df.iloc[i].col = df.iloc[i].col[:9]

但我想知道,是否有一个选项,我不必使用“for”循环,而是直接使用属性。我有大量的数据,如果我这样做,数据将需要很长的时间处理。

使用带方括号的
str
访问器:

df['col'] = df['col'].str[:9]
或:


使用带方括号的
str
访问器:

df['col'] = df['col'].str[:9]
或:


我需要将形式为nn.n%的字符串的单个列转换为浮点。我需要从每行的元素中删除%。数据框有两列

attend.iloc[:,1:2]=attend.iloc[:,1:2].applymap(lambda x: float(x[:-1]))

这是原始答案的延伸。在我的例子中,它接受一个数据帧,并对特定列中的每个值应用一个函数。该函数删除最后一个字符,并将剩余的字符串转换为浮点。

我需要将格式为nn.n%的一列字符串转换为浮点。我需要从每行的元素中删除%。数据框有两列

attend.iloc[:,1:2]=attend.iloc[:,1:2].applymap(lambda x: float(x[:-1]))

这是原始答案的延伸。在我的例子中,它接受一个数据帧,并对特定列中的每个值应用一个函数。该函数删除最后一个字符并将剩余的字符串转换为浮点。

如果列不是字符串,请使用aType转换:


df['col']=df['col'].astype(str).str[:9]

如果列不是字符串,请使用astype转换:


df['col']=df['col'].astype(str).str[:9]

很难说这是否是问题的答案。很难说这是否是问题的答案。这给了我一个可怕的
设置和copyWarning:
很棒的解决方案!但我很好奇在大数据集上哪一个更快。。。对于df['col']]中的x,将其与
df['col']=[x[:9]进行比较怎么样?您可以将建议的解决方案与
pd.options.mode.chained_assignment=None#default='warn'
一起使用,以消除警告。或者,你可以看看这些主题,然后浪费几分钟的时间:这给了我可怕的
设置和copyWarning:
伟大的解决方案!但我很好奇在大数据集上哪一个更快。。。对于df['col']]
中的x,将其与
df['col']=[x[:9]进行比较怎么样?您可以将建议的解决方案与
pd.options.mode.chained_assignment=None#default='warn'
一起使用,以消除警告。或者,你可以看看这些话题,然后浪费几分钟的时间: