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

Python 按分隔符拆分列并仅保留新名称

Python 按分隔符拆分列并仅保留新名称,python,pandas,dataframe,split,Python,Pandas,Dataframe,Split,我想提出以下问题: 现在,我只想保留新名称: df[['Name','allele']] = df['V'].str.split('-',expand=True) 但df也存储“V”: 。。。 有方便的钥匙吗? 我知道我能做到: df.drop(columns='V', axis=1, inplace=True) 我更喜欢一个键而不是另一行代码,因为在我的项目中,我必须重复相同的事情好几次,我总共有25个名称。您可以创建一个新的数据帧并使用: 如果您不想创建新的数据帧,而您想将其保存在原

我想提出以下问题:

现在,我只想保留新名称:

df[['Name','allele']] = df['V'].str.split('-',expand=True)
但df也存储“V”:

。。。 有方便的钥匙吗? 我知道我能做到:

df.drop(columns='V', axis=1, inplace=True)

我更喜欢一个键而不是另一行代码,因为在我的项目中,我必须重复相同的事情好几次,我总共有25个名称。

您可以创建一个新的数据帧并使用:



如果您不想创建新的数据帧,而您想将其保存在原始数据帧中,并在一行中删除“V”,则可以使用


好主意!在我的例子中,我希望避免再次指定名称,因为我有25个名称。您的意思是什么?我的意思是:列={0:'Name',1:'allege'}如果将数据保存在已创建的列中,则必须指定保存数据的列的标签。因此你必须写下来。就像你在问题中所展示的那样。同样,如果创建新列,则必须指定名称。换句话说,如果希望列以某种方式具有该名称,则必须指定该名称。是否要对比V更多的列应用此操作?问题是我将其保存为以下格式:问题={'num_vars':25,'names':['Name1','Name2','…],'bounds':[[1,2],…]}可能重复
df 

    V           Name    allele
0   IGHV7-B*01  IGHV7   B*01
1   IGHV7-B*01  IGHV7   B*01
df.drop(columns='V', axis=1, inplace=True)
new_df=df['V'].str.split('-',expand=True).rename(columns={0:'Name',1:'Allete'})
print(new_df)
     Name allele
0   IGHV7   B*01
1   IGHV7   B*01
2   IGHV6   A*01
3    GHV6   A*01
4   IGHV6   A*01
5   IGHV6   A*01
6   IGHV4   L*03
7   IGHV4   L*03
8   IGHV5   A*01
9   IGHV5   A*04
10  IGHV6   A*02
11  IGHV6   A*02
df=pd.concat([df.loc[:,~df.columns.isin(['V','allete','Name'])],df['V'].str.split('-',expand=True).rename(columns={0:'Name',1:'allele'})],axis=1)