Pandas 将dataframe的列作为字符串而不是整数导入
在本文中,我们将介绍如何将 Pandas dataframe 中的列作为字符串而不是整数导入。当我们导入 Pandas dataframe 时,默认情况下,它会尝试将每个列的数据类型推断为适当的类型。例如,如果整个列都由整数组成,则 Pandas 将尝试将其推荐为整数类型。但是,有时我们希望将某个列或多个列作为字符串导入,以便我们可以轻松地在数据框中使用它们。
阅读更多:Pandas 教程
使用dtype参数将列指定为字符串
最简单的方法是在读取csv文件时使用 dtype 参数将列指定为字符串。例如,假设我们有一个包含以下数据的csv文件:
name,age,gender
John,30,M
Mary,25,F
Tom,28,M
我们想要将 “name” 和 “gender” 列导入为字符串。可以使用以下代码:
import pandas as pd
df = pd.read_csv('data.csv', dtype={'name': str, 'gender': str})
这里,我们使用 dtype 参数将 “name” 和 “gender” 列指定为字符串。现在,这两个列被导入为字符串。
使用astype()函数将列转换为字符串
另一种方法是使用 .astype() 函数将列转换为字符串。例如,假设我们已经导入了一个包含 “age” 列的数据框:
import pandas as pd
df = pd.read_csv('data.csv')
# 将 "age" 列转换为字符串
df['age'] = df['age'].astype(str)
这里,我们使用 .astype() 函数将 “age” 列转换为字符串。现在,该列已被转换为字符串。
使用to_string()函数将整个数据框转换为字符串
有时,我们可能想要将整个数据框作为字符串导出,以便我们可以将其保存到文本文件或在其他场合中使用。为此,我们可以使用 .to_string() 函数将数据框转换为字符串。例如,假设我们有以下数据框:
import pandas as pd
data = {'name': ['John', 'Mary', 'Tom'],
'age': [30, 25, 28],
'gender': ['M', 'F', 'M']}
df = pd.DataFrame(data)
# 将整个数据框转换为字符串
df_str = df.to_string(index=False)
print(df_str)
这里,我们使用 .to_string() 函数将数据框转换为字符串,并使用 index=False 参数禁用了行索引。现在,我们可以使用 df_str 变量在其他地方使用整个数据框。
总结
在本文中,我们介绍了三种方法来将 Pandas dataframe 中的列导入为字符串。第一种方法是在读取 csv 文件时使用 dtype 参数将列指定为字符串。第二种方法是使用 .astype() 函数将列转换为字符串。第三种方法是使用 .to_string() 函数将整个数据框转换为字符串。根据具体的需求,我们可以选择其中的一种或多种方法来导入字符串列。
极客教程