Python 如果数据框中有间距和数字,如何重命名?熊猫

Python 如果数据框中有间距和数字,如何重命名?熊猫,python,pandas,dataframe,Python,Pandas,Dataframe,在我的数据框的某些行中有间距和数字。例如,威斯康星州Florida16、Florida19 我想删除那些额外的数字和间距,只保留主要名称 我该如何使用重命名?我需要一个for循环吗 df.rename()尝试以下操作: 将熊猫作为pd导入 将numpy作为np导入 data=np.array(['Florida19','Testwithspace','AnotherNumber18',['Florida19','Testwithspace','AnotherNumber18 andspace']

在我的数据框的某些行中有间距和数字。例如,威斯康星州Florida16、Florida19 我想删除那些额外的数字和间距,只保留主要名称 我该如何使用重命名?我需要一个for循环吗

df.rename()

尝试以下操作:

将熊猫作为pd导入
将numpy作为np导入
data=np.array(['Florida19','Testwithspace','AnotherNumber18',['Florida19','Testwithspace','AnotherNumber18 andspace']))
df=pd.DataFrame(数据)
模式=['[0-9]+','\s.*']
替换=“”
df.replace(patterns,replacement,regex=True,inplace=True)
打印(df)
这导致:

0112
0佛罗里达测试另一个号码
1.另一个号码
编辑:

如果一个条目(例如威斯康星州)的所需输出应该是威斯康星州(州)(或者通常只是删除空格),那么使用
模式=['[0-9]+','\s']

这将导致:

0112
0佛罗里达测试,另一个数字为空
1个佛罗里达测试,另一个数字和空间

对于索引:

如果将这些值设置为数据帧的“索引”,如:

12
0
Florida19'测试,空格为“其他数字18”
Florida16'使用空格“”测试另一个数字18和空格'
威斯康星州“信息1”信息2
您可以将
df.rename()
与正则表达式一起使用来更改这些索引:

将熊猫作为pd导入
将numpy作为np导入
进口稀土
data=np.array(['Florida19','testwithspace','AnotherNumber18',],
['Florida16','testwithspace','AnotherNumber18和space'],
[‘威斯康星州’、‘信息1’、‘信息2’]]
df=pd.DataFrame(数据)
df.set_索引(0,原地=真)
pattern1=r'[0-9]+|\s.'#匹配以空格开头的数字或字符串部分
pattern2=r'[0-9]+|\s'#仅用于删除数字和空格
df1=df.rename(索引=(lambda x:re.sub(pattern1',,x))
df2=df.rename(索引=(lambda x:re.sub(pattern2',,x))
这将产生:

df1=
1                           2
0
佛罗里达州“测试空间”“另一个数字18”
佛罗里达州“空间测试”“其他数字18和空间”
威斯康星州“信息1”“信息2”
df2=
1                           2
0
佛罗里达州“测试空间”“另一个数字18”
佛罗里达州“空间测试”“其他数字18和空间”
威斯康星州“信息1”信息2
尝试以下操作:

将熊猫作为pd导入
将numpy作为np导入
data=np.array(['Florida19','Testwithspace','AnotherNumber18',['Florida19','Testwithspace','AnotherNumber18 andspace']))
df=pd.DataFrame(数据)
模式=['[0-9]+','\s.*']
替换=“”
df.replace(patterns,replacement,regex=True,inplace=True)
打印(df)
这导致:

0112
0佛罗里达测试另一个号码
1.另一个号码
编辑:

如果一个条目(例如威斯康星州)的所需输出应该是威斯康星州(州)(或者通常只是删除空格),那么使用
模式=['[0-9]+','\s']

这将导致:

0112
0佛罗里达测试,另一个数字为空
1个佛罗里达测试,另一个数字和空间

对于索引:

如果将这些值设置为数据帧的“索引”,如:

12
0
Florida19'测试,空格为“其他数字18”
Florida16'使用空格“”测试另一个数字18和空格'
威斯康星州“信息1”信息2
您可以将
df.rename()
与正则表达式一起使用来更改这些索引:

将熊猫作为pd导入
将numpy作为np导入
进口稀土
data=np.array(['Florida19','testwithspace','AnotherNumber18',],
['Florida16','testwithspace','AnotherNumber18和space'],
[‘威斯康星州’、‘信息1’、‘信息2’]]
df=pd.DataFrame(数据)
df.set_索引(0,原地=真)
pattern1=r'[0-9]+|\s.'#匹配以空格开头的数字或字符串部分
pattern2=r'[0-9]+|\s'#仅用于删除数字和空格
df1=df.rename(索引=(lambda x:re.sub(pattern1',,x))
df2=df.rename(索引=(lambda x:re.sub(pattern2',,x))
这将产生:

df1=
1                           2
0
佛罗里达州“测试空间”“另一个数字18”
佛罗里达州“空间测试”“其他数字18和空间”
威斯康星州“信息1”“信息2”
df2=
1                           2
0
佛罗里达州“测试空间”“另一个数字18”
佛罗里达州“空间测试”“其他数字18和空间”
威斯康星州“信息1”信息2

您需要使用regex和.str.replace(“16”和“”)来删除此项您需要使用regex和.str.replace(“16”)来删除此项预期的输出不是“test”,而是“testwithspace”