python中pandas 如何删除指定单元格的数据
比如上图红框中的数据
import numpy as np
import pandas as pd
np.random.seed(66)
s1 = pd.Series(np.random.rand(20))
s2 = pd.Series(np.random.randn(20))
df = pd.concat([s1, s2], axis=1)
df.columns = ['col1', 'col2']
#median直接算中位数
print(df["col2"].median())
#用50%分位数
print(df["col2"].quantile())
可以使用pandas的at函数来实现删除指定单元格中数据的操作,步骤如下:
1.首先,定位到需要删除的单元格,通过指定行、列的标签值来确定。
例如,要删除第1行、第2列中的数据,可以使用以下代码:
df.at[1, 'column_name'] = ''
其中,column_name是需要删除数据的列的名称。
2.重新对数据框进行排序,可将删除的单元格所在行、列位置置为空/NaN,并不会改变索引,需要使用排序函数重新排序,才能将空元素放置在末尾或开头。
3.最后,可以使用dropna函数删除空元素,实现删除指定单元格中数据的操作。
完整代码如下:
import pandas as pd
# 创建数据框
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 删除特定单元格中的数据
df.at[1, 'B'] = ''
# 重新排序
df.sort_values(by='A', axis=0, ascending=True, inplace=True, na_position='last')
# 删除空元素
df.dropna(inplace=True)
print(df)
输出结果如下:
A B C
0 1 4 7
2 3 6 9
说明,第1行、第2列中的数据已被成功删除。