删除一个dataframe里的奇数行
时间: 2023-09-18 11:07:12 浏览: 35
可以使用以下代码删除一个dataframe里的奇数行:
```python
import pandas as pd
# 创建一个示例dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})
# 删除奇数行
df = df.drop(df.index[::2])
print(df)
```
输出结果:
```
A B
1 2 7
3 4 9
```
在这个例子中,我们首先创建了一个示例dataframe,然后使用`df.index[::2]`选中了所有奇数行的索引,然后使用`df.drop()`方法删除这些行。最后输出结果。
相关问题
dataframe按另一个dataframe索引删除行
要根据另一个DataFrame的索引删除行,你可以使用`DataFrame.isin()`方法来创建一个布尔索引,该索引指示哪些行的索引在另一个DataFrame中存在。然后,你可以使用该布尔索引来过滤原始DataFrame并删除相应的行。
下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例DataFrame
data = {'Name': ['John', 'Emma', 'Mike', 'Sarah'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'London', 'Paris', 'Tokyo']}
df1 = pd.DataFrame(data)
# 创建另一个DataFrame作为索引
index_data = {'Index': [0, 2]}
index_df = pd.DataFrame(index_data)
# 使用isin()方法创建布尔索引
bool_index = df1.index.isin(index_df['Index'])
# 根据布尔索引过滤并删除行
filtered_df = df1[~bool_index]
print(filtered_df)
```
输出结果为:
```
Name Age City
1 Emma 30 London
3 Sarah 40 Tokyo
```
在上面的示例中,我们首先创建了一个示例DataFrame df1和一个包含索引值的DataFrame index_df。然后,我们使用`isin()`方法创建了一个布尔索引bool_index来指示df1中哪些行的索引在index_df中存在。最后,我们使用布尔索引来过滤并删除了相应的行,将结果存储在filtered_df中。
请注意,这里使用了`~`运算符来对布尔索引进行取反操作,以便获取不在指定索引中的行。你可以根据需要修改索引值和列名来适应你的实际情况。
python删除一个dataframe里小于0.85的值
可以使用以下代码删除DataFrame中小于0.85的值:
```python
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'A': [0.5, 0.9, 1.2], 'B': [-0.1, 0.8, 1.1]})
# 删除小于0.85的值
df = df.mask(df < 0.85)
```
上述代码中,`mask` 方法会将小于0.85的值替换为 NaN,然后返回一个新的 DataFrame。如果想要在原 DataFrame 上直接修改,可以使用 `df.mask(df < 0.85, inplace=True)`。