python取dataframe取某列的所有特定元素
时间: 2023-10-14 16:08:01 浏览: 81
可以使用pandas库中的isin()函数来取出某列中的所有特定元素。
例如,如果我们有一个名为df的DataFrame,其中包含一个名为col的列,我们想要取出列col中值为1、3和5的所有行,可以使用以下代码:
```
import pandas as pd
df = pd.DataFrame({'col': [1, 2, 3, 4, 5]})
special_values = [1, 3, 5]
result = df[df['col'].isin(special_values)]
print(result)
```
输出结果为:
```
col
0 1
2 3
4 5
```
在这个例子中,我们首先创建了一个DataFrame,其中包含一个列col,其中包含五个值。然后,我们定义了一个列表special_values,其中包含我们想要取出的特定值。最后,我们使用isin()函数来选择列col中包含在special_values列表中的所有行,并将结果存储在变量result中。输出结果显示只有包含值1、3和5的行被选中。
相关问题
python取dataframe取某列的特定元素
要取dataframe中某列的特定元素可以使用loc或iloc方法。假设有如下的dataframe:
```
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)
```
我们可以使用loc方法来取得第一行第二列的元素,也就是Bob的年龄:
```
age_bob = df.loc[1, 'age']
print(age_bob)
```
输出结果为:
```
30
```
我们也可以使用iloc方法来取得第二行第二列的元素,也就是Bob的年龄:
```
age_bob = df.iloc[1, 1]
print(age_bob)
```
输出结果同样为:
```
30
```
python 修改dataframe特定位置元素的值
要修改DataFrame中特定位置元素的值,可以使用`.loc[]`或`.iloc[]`方法。
首先,根据行和列的标签或位置,使用`.loc[]`或`.iloc[]`方法选择要修改的元素。然后,将新值分配给所选元素。
例如,假设有以下DataFrame:
```
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'city': ['New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
print(df)
```
输出:
```
name age city
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
```
要将第一行的`age`值更改为`26`,可以使用以下代码:
```
df.loc[0, 'age'] = 26
print(df)
```
输出:
```
name age city
0 Alice 26 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
```
要将第三行第二列的值更改为`'Houston'`,可以使用以下代码:
```
df.iloc[2, 1] = 'Houston'
print(df)
```
输出:
```
name age city
0 Alice 26 New York
1 Bob 30 Los Angeles
2 Charlie Houston Chicago
```