首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何避免python在屏蔽数据后使用UserWarning进行隐式修复

如何避免python在屏蔽数据后使用UserWarning进行隐式修复
EN

Stack Overflow用户
提问于 2018-12-20 01:53:43
回答 1查看 58关注 0票数 1

当我用另一个数据集屏蔽我的数据集时,它显示了一个UserWarning: Boolean Series key将被重新索引以匹配DataFrame索引。我该如何避免这种情况呢?Python会自动为它重新建立索引,但是该列的标题是空的,而且我似乎不能重命名它,所以我可以在代码中引用该列。我也不喜欢依赖这种隐含的修正。

我尝试用两种方式手动重命名这些列: pd.DataFrame.columns()或pd.DataFrame.rename()。由于某种原因,我得到一个错误,它需要3个元素,而不是4个,或者添加的空列索引不会被重命名。

代码语言:javascript
复制
# select data and filter it which results in the error which fixes the dataframe but leaves the column name empty

stickData = data[['Time','Pitch Stick Position(IN)','Roll Stick Position (IN)']]
filteredData = stickData[contactData['CONTACT'] == 1]

# moving forward from the error I tried using rename which does not error but also does nothing
filteredData.rename(index={0:'Index'})

# I also tried this
filteredData.rename(index={'':'Old_Index'})

# I even went and tried to add the names of the dataframe like so which resulted in ValueError: Length mismatch: Expected axis has 3 elements, new values have 4 elements
filteredData.columns = ['Old_Index','Time','Pitch Stick Position(IN)','Roll Stick Position (IN)']

经过python的隐式校正后,filteredData.head()的当前数据帧如下所示:

代码语言:javascript
复制
Index              Time          Pitch Stick Position(IN)  Roll Stick Position (IN)
0       1421  240:19:06:40.200                  0.007263                 -0.028500
1       1422  240:19:06:40.400                  0.022327                  0.139893
2       1423  240:19:06:40.600                 -0.016409                  0.540756
3       1424  240:19:06:40.800                 -0.199329                  0.279971
4       1425  240:19:06:41.000                  0.013719                 -0.018069

但我希望在不依赖隐式校正的情况下,显示带有Old_index标签的内容:

代码语言:javascript
复制
Index   Old_index   Time          Pitch Stick Position(IN)  Roll Stick Position (IN)
1       1421  240:19:06:40.200                  0.007263                 -0.028500
2       1422  240:19:06:40.400                  0.022327                  0.139893
3       1423  240:19:06:40.600                 -0.016409                  0.540756
4       1424  240:19:06:40.800                 -0.199329                  0.279971
5       1425  240:19:06:41.000                  0.013719                 -0.018069
EN

回答 1

Stack Overflow用户

发布于 2018-12-20 08:12:49

你能不能试试:

代码语言:javascript
复制
filteredData = stickData[contactData['CONTACT'] == 1].reset_index().rename(columns={'index': 'Old_index') 

或者把这块放在什么地方,我没有你的样本数据,我不能测试它

代码语言:javascript
复制
.reset_index().rename(columns={'index': 'Old_index')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53856748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档