我的DataFrame行中有n行文本,我只希望该DataFrame行中有几行文本。
这是我使用的代码
data.col_name[0]=data.col_name[0][10:100]
data.col_name[1]=data.col_name[1][10:100]
data.col_name[2]=data.col_name[2][10:100]
data.col_name[3]=data.col_name[3][10:100]
data.col_name[4]=data.col_name[4][10:100]
我如何更有效地做到这一点?
答案 0 :(得分:1)
在这种情况下,您应该使用iloc
。只需您可以
data.iloc[10:100, [0, 1, 2, 3, 4]]
如果一次只需要一列:
data.iloc[10:100, 0]
以此类推。
编辑:
如果要切片特定的列数据,可以使用str.slice
。假设我将“消息”列的一行中包含 1000 行数据,然后将前 50 个字符切成薄片。
data['Message'] = data['Message'].str.slice(0,50,1)
OR
df.iloc[:, 2] = df.iloc[:, 2].str.slice(0, 50, 1)
答案 1 :(得分:0)
尝试使用此代码:
for i in range(len(df)):
df['Column_Name'][i] = df['Column_Name'][i][0:100]
答案 2 :(得分:0)
数据['消息'] =数据['消息'] .str.slice(0,50,1)
这对我来说很好,谢谢@Rarblack