首页 > 解决方案 > 使用 Pandas 拆分数字并为每个数字拆分创建新的单独列

问题描述

再会,

我有一个这样的列的数据框,让我们假设有 1000 行,但这里有一个示例:

 A 
12
24
36
48

我希望将数字分成两个单独的数字。我希望输出看起来像这样:

 A    B    C
12    1    2
24    2    4
36    3    6
48    4    8

如何使用 Pandas 和 Numpy 实现这一目标?帮助将不胜感激。提前致谢!

标签: pythonpandasnumpydataframedata-structures

解决方案


使用floormod

df['B'] = df['A'] // 10
df['C'] = df['A'] % 10

print (df)
    A  B  C
0  12  1  2
1  24  2  4
2  36  3  6
3  48  4  8

如果输入数据是字符串,则可以按位置索引[]

print (df['A'].apply(type))
0    <class 'str'>
1    <class 'str'>
2    <class 'str'>
3    <class 'str'>
Name: A, dtype: object

df['B'] = df['A'].str[0]
df['C'] = df['A'].str[1]
#if necessary convert all columns to integers
df = df.astype(int)
print (df)
    A  B  C
0  12  1  2
1  24  2  4
2  36  3  6
3  48  4  8

推荐阅读