【问题标题】:Converting Pandas Object data type to String将 Pandas 对象数据类型转换为字符串
【发布时间】:2023-03-09 18:53:02
【问题描述】:

我无法将单个列或整个数据框转换为字符串。我正在将 s3 中的数据读入 pandas,如下所示:

bucket = 'my_bucket'
file_name = 'my_path/my_file.csv'
s3 = boto3.client('s3') 
s3_obj = s3.get_object(Bucket = bucket, Key = file_name)
df = pd.read_csv(s3_obj['Body'])
df = df.astype(str)
df['col1']= df['col1'].astype(str)
print(df.dtypes)

我正在尝试两者:将整个数据框或列转换为字符串。当我运行打印语句时,它会将所有列和 df 显示为“对象”。

如何将其转换为字符串?

【问题讨论】:

    标签: python pandas string object


    【解决方案1】:

    字符串 dtype 是 pandas 1.0.0 的新内容。

    您可以使用series.astype("string") 代替series.astype(str)

    文档在这里https://pandas.pydata.org/pandas-docs/stable/user_guide/text.html

    【讨论】:

      【解决方案2】:

      尝试将 dtype=str 作为参数添加到 read_csv 函数:

      df = pd.read_csv(s3_obj['Body'], dtype=str)
      

      如果您希望某些列被解释为列,您可以在 dtype 中将其指定为:

      mydtypes = {'col1': 'str', 'col2': 'str', 'col3': 'str', 'col4': 'float'}
      df = pd.read_csv(s3_obj['Body'], dtype=mydtypes)
      

      【讨论】:

      • 我觉得这很接近,但仍然无法正常工作。我尝试了您列出的两个选项,但都不起作用。
      猜你喜欢
      • 1970-01-01
      • 2016-12-01
      • 2014-04-03
      • 2016-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 1970-01-01
      相关资源
      最近更新 更多