在每一行的一列中切片部分值
Slice part of value in one column for each row
我想要一个 10 位字符串数字的 select 位 5:8 用于一列的每一行。我试过在循环中建立索引,但这看起来很乏味。有没有更简单的方法?
数据小例子:
import pandas as pd
data = [[1, 2, '12345678910'], [1, 2, '10987654321'], [1, 2, '11029384756']]
df = pd.DataFrame(data, columns = ['Var1', 'Var2', 'Var3])
Var3 应该被操纵并且结果应该是更短长度的字符串:
data = [[1, 2, '5678'], [1, 2, '6543'], [1, 2, '3847']]
df = pd.DataFrame(data, columns = ['Var1', 'Var2', 'Var3'])
您可以对特定列使用应用函数,然后获取每个值的子字符串:
import pandas as pd
data = [[1, 2, '12345678910'], [1, 2, '10987654321'], [1, 2, '11029384756']]
df = pd.DataFrame(data, columns=['Var1', 'Var2', 'Var3'])
df['Var3'] = df['Var3'].apply(lambda x: x[4:8])
注意:在你的结果中你没有提取 5:8 个字符,但我希望你明白了。
我想要一个 10 位字符串数字的 select 位 5:8 用于一列的每一行。我试过在循环中建立索引,但这看起来很乏味。有没有更简单的方法?
数据小例子:
import pandas as pd
data = [[1, 2, '12345678910'], [1, 2, '10987654321'], [1, 2, '11029384756']]
df = pd.DataFrame(data, columns = ['Var1', 'Var2', 'Var3])
Var3 应该被操纵并且结果应该是更短长度的字符串:
data = [[1, 2, '5678'], [1, 2, '6543'], [1, 2, '3847']]
df = pd.DataFrame(data, columns = ['Var1', 'Var2', 'Var3'])
您可以对特定列使用应用函数,然后获取每个值的子字符串:
import pandas as pd
data = [[1, 2, '12345678910'], [1, 2, '10987654321'], [1, 2, '11029384756']]
df = pd.DataFrame(data, columns=['Var1', 'Var2', 'Var3'])
df['Var3'] = df['Var3'].apply(lambda x: x[4:8])
注意:在你的结果中你没有提取 5:8 个字符,但我希望你明白了。