Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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_Split_Delimiter - Fatal编程技术网

Python 按分隔符拆分列并删除扩展列

Python 按分隔符拆分列并删除扩展列,python,pandas,dataframe,split,delimiter,Python,Pandas,Dataframe,Split,Delimiter,我想知道是否有一种方法可以通过分隔符拆分列,然后删除扩展列。目前,这是我正在尝试做的,但它并没有像我希望的那样工作 import pandas as pd df = {'ID': [3009, 129,119,120,121 ], 'temp': ['75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0'], 'Prob': [1,1,0.8,0.8056,0.9]} df = pd.DataFrame(df)

我想知道是否有一种方法可以通过分隔符拆分列,然后删除扩展列。目前,这是我正在尝试做的,但它并没有像我希望的那样工作

import pandas as pd

df = {'ID': [3009, 129,119,120,121 ],
  'temp': ['75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0'],
  'Prob': [1,1,0.8,0.8056,0.9]}

df = pd.DataFrame(df)


       ID    Prob           temp
0    3009  1.0000       75.0~54.0
1     129  1.0000       75.0~54.0  
2     119  0.8000       75.0~54.0  
3     120  0.8056       75.0~54.0  
4     121  0.9000       75.0~54.0  
5     122  0.8050       75.0~54.0  

df['temp','temp2'] = = df['temp'].str.split('~', expand=True)
我的目标是按分隔符将其拆分,并向现有数据帧(df)添加一个新列:

因此,我可以删除temp2列

您可以对拆分进行索引(这样,您就不必处理
temp2
列):

印刷品:

     ID  temp    Prob
0  3009  75.0  1.0000
1   129  75.0  1.0000
2   119  75.0  0.8000
3   120  75.0  0.8056
4   121  75.0  0.9000
您可以对拆分进行索引(这样,您就不必处理
temp2
列):

印刷品:

     ID  temp    Prob
0  3009  75.0  1.0000
1   129  75.0  1.0000
2   119  75.0  0.8000
3   120  75.0  0.8056
4   121  75.0  0.9000

如果要从数据框中删除列,可以尝试使用
str.split()
,然后使用
.drop()

import pandas as pd
import numpy as np

data = {'ID': [3009, 129,119,120,121 ],
  'temp': ['75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0'],
  'Prob': [1,1,0.8,0.8056,0.9]}
df = pd.DataFrame(data)
df['temp~'] = df['temp'].str.split('~')
df['temp_1'] = df['temp~'].str.get(0)
df = df.drop(columns=['temp~'])
print(df)
输出:

     ID       temp    Prob temp_1
0  3009  75.0~54.0  1.0000   75.0
1   129  75.0~54.0  1.0000   75.0
2   119  75.0~54.0  0.8000   75.0
3   120  75.0~54.0  0.8056   75.0
4   121  75.0~54.0  0.9000   75.0

如果要从数据框中删除列,可以尝试使用
str.split()
,然后使用
.drop()

import pandas as pd
import numpy as np

data = {'ID': [3009, 129,119,120,121 ],
  'temp': ['75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0','75.0~54.0'],
  'Prob': [1,1,0.8,0.8056,0.9]}
df = pd.DataFrame(data)
df['temp~'] = df['temp'].str.split('~')
df['temp_1'] = df['temp~'].str.get(0)
df = df.drop(columns=['temp~'])
print(df)
输出:

     ID       temp    Prob temp_1
0  3009  75.0~54.0  1.0000   75.0
1   129  75.0~54.0  1.0000   75.0
2   119  75.0~54.0  0.8000   75.0
3   120  75.0~54.0  0.8056   75.0
4   121  75.0~54.0  0.9000   75.0

美好的这正是我要找的!美好的这正是我要找的!