鉴于以下情况:
my_dict = {'Municipio': {0: '* Barranquitas', 1: '* Bayamón', 2: '* Cabo Rojo', 3: '* Caguas', 4: '* Camuy'},
'Frecuencia %': {0: '656 0.8', 1: '6307 8.0', 2: '* Orocovis 397 0.5', 3: '0.2 3726 4.7', 4: '0.4 745 0.9'},
'Municipio 2': {0: '* Naguabo', 1: '* Naranjito', 2: 'nan', 3: '* Patillas', 4: '* Peñuelas'}}
my_df = pd.DataFrame(my_dict)
您好,您可以使用iloc移动单元格
这是您当前的数据帧。我们想移动[2,1]将其放入索引[2,2]。为此,只需使用iloc为[2,2]指定[2,1]处的值,然后将其删除,只需将[2,1]处的值替换为nan即可
运行上述命令后,您将获得以下数据帧:-
这里有一个暴力解决方案。您可以使用iloc和字符串位置来完成赋值
输出:
但是,如果只想交换两个单元格的值,可以执行以下操作:
解决办法是:
由于要将带有
'* letters'
的字符串从[2,1]提取到[2,2],并将值的剩余部分保留在[2,1]中,因此可以使用正则表达式提取值输出结果如下:
注意,我们不能使用iloc[].str,因为我们只处理一个单元格。如果是一组行,那么我们可以使用iloc[].str
通过将拆分指定为n个数字,我们可以确保所有值都存储到列中
上面的条件为.iloc[],0时,我们确保它搜索并仅提供第一项。与iloc[]类似,1将我们分成两部分,并选择第二项(索引从0开始,因此1是第二个元素)。下面,我修改了[2,1],使其具有多个*+空格+字母+空格+数字模式。但是,我仍然得到了只提取列[2,2]的第一个*+空格+字母的预期结果
相关问题 更多 >
编程相关推荐