swa*_*yak 42 python numpy dataframe pandas
我想用指定的列创建一个修改后的数据框。我尝试了以下操作,但抛出错误“不再支持将类似列表的文件传递给 .loc 或 [] 且缺少任何标签”
# columns to keep
filtered_columns = ['text', 'agreeCount', 'disagreeCount', 'id', 'user.firstName', 'user.lastName', 'user.gender', 'user.id']
tips_filtered = tips_df.loc[:, filtered_columns]
# display tips
tips_filtered
Run Code Online (Sandbox Code Playgroud)
谢谢
WeN*_*Ben 14
列表中的某些列未包含在数据框中,如果您确实想这样做,让我们尝试一下 reindex
tips_filtered = tips_df.reindex(columns=filtered_columns)
Run Code Online (Sandbox Code Playgroud)
den*_*lov 11
我遇到了同样的错误,缺少行索引标签而不是列。
例如,我将有一个具有以下 ID 的产品数据集:['a','b','c','d']。我将这些产品存储在带有索引的数据框中['a','b','c','d']:
df=pd.DataFrame(['product a','product b','product c', 'product d'],index=['a','b','c','d'])
Run Code Online (Sandbox Code Playgroud)
现在让我们假设我有一个更新的产品索引:
row_indices=['b','c','d','e']其中“e”对应于一个新产品:“产品 e”。请注意,我的原始索引中不存在“e” ['a','b','c','d']。
如果我尝试这个更新的索引传递给我的DF数据帧:df.loc[row_indices,:],
我会收到这个令人讨厌的错误消息:
KeyError:“不再支持将类似列表的文件传递给 .loc 或 [] 并缺少任何标签。缺少以下标签:Index(['e'], dtype='object')。
为避免此错误,我需要将更新后的索引与原始索引进行交集:
df.loc[df.index.intersection(row_indices),:]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46141 次 |
| 最近记录: |