在DataFrame中删除特定列和索引

2024-05-19 00:20:50 发布

您现在位置:Python中文网/ 问答频道 /正文

数据帧:

   A   B   C
0  1   6  11
1  2   7  12
2  3   8  13
3  4   9  14
4  5  10  15

是否可以将B列中的索引2的值降至4?或者将其替换为NaN

在这种情况下,应删除值:[8, 9, 10]

我尝试过:df.drop(columns=['B'], index=[8, 9, 10]),但随后删除了B列


Tags: columns数据dfindex情况nandrop
2条回答

DataFrame中删除值没有意义。您可以将值改为NaN,并使用.loc/.iloc访问索引/列:

>>> df
   A   B   C
a  1   6  11
b  2   7  12
c  3   8  13
d  4   9  14
e  5  10  15

# By name:
df.loc['c':'e', 'B'] = np.nan

# By number:
df.iloc[2:5, 2] = np.nan

仔细阅读Indexing and selecting data

import pandas as pd

data = [
    ['A','B','C'],
    [1,6,11],
    [2,7,12],
    [3,8,13],
    [4,9,14],
    [5,10,15]
]

df = pd.DataFrame(data=data[1:], columns=data[0])
df['B'] = df['B'].shift(3)

>>>

   A   B    C
0  1   NaN  11
1  2   NaN  12
2  3   NaN  13
3  4   6.0  14
4  5   7.0  15

相关问题 更多 >

    热门问题