改变dataframe每一行数据类型的方法
时间: 2023-05-25 09:05:19 浏览: 155
要改变DataFrame每一行的数据类型,可以使用apply函数和lambda函数来实现。需要指定axis参数为1以应用于每一行。
例如,将一列float类型的DataFrame转换为int类型:
```python
import pandas as pd
df = pd.DataFrame({'A': [1.0, 2.0, 3.0], 'B': [4.0, 5.0, 6.0], 'C': [7.0, 8.0, 9.0]})
df = df.apply(lambda x: x.astype(int), axis=1)
print(df)
```
输出:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```
在lambda函数中,x表示DataFrame的每一行。astype()函数用于转换数据类型。在这个例子中,将每一行的浮点数转换为整数。
如果要针对不同列进行不同的类型转换,可以将lambda函数中的操作逐列指定:
```python
import pandas as pd
df = pd.DataFrame({'A': [1.0, 2.0, 3.0], 'B': ['4', '5', '6'], 'C': [7.0, 8.0, 9.0]})
df = df.apply(lambda x: x.astype(int) if x.name=='A' or x.name=='C' else x, axis=1)
print(df)
```
输出:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```
在lambda函数中增加一个条件语句,根据列名选择执行的操作。在本例中,对列A和列C进行了整型转换,但保持了列B的字符串形式。
阅读全文