数据类型转换的问题

问题描述 投票:0回答:1

[https:/github.comrgrantham82Hate_Crimes_AnalysisblobmasterData%20Wrangling%20(1).ipynb] 。

如果上面的链接不起作用,请使用[ ]。https:/github.comrgrantham82Hate_Crimes_Analysis]。 并点击数据整理Jupyter笔记本。

我目前正在分析德克萨斯州奥斯汀市的仇恨犯罪数据。到目前为止,我正处于清理阶段&我正在为如何最好的进行而绞尽脑汁。

到目前为止,我从data.austintexas.gov中连缀了4个数据集--从2017年到现在的仇恨犯罪报告。结果集产生了几个新的列,因为原来的数据列,特别是'日期......'、'受害者......'和'罪犯......'列都被创建者(s)策展人(s)用不同的格式化了......不管你是为austintexas.gov工作的谁,都做得很好......不管怎样,我现在的目标是。

  1. 对我来说最重要的一列是 "偏见 "列。我如何将数据转换为数值类型?我不能用Matplotlib可视化它,因为很明显它不是数值型的。

  2. 以某种方式将'incident_number'数据转换为datetime.或其他数值数据类型,以使可视化效果更好。

除非可以把各种 "日期 "列清理合并&转换它们,但最简单的方法似乎是操作 "incident_number "列。

另外,我对Python还是个新手。任何帮助都是非常感激的,但我也非常愿意接受建议,等等。谢谢大家

python pandas numpy dataframe data-conversion
1个回答
0
投票

1)我相信你可以将偏向列转换为一个int。

假设你有一个名为df的数据框,其列名为bias。

你可以这样做。

df['bias'] = df['bias'].astype(int)

https:/pandas.pydata.orgpandas-docsstablereferenceapipandas.DataFrame.astype.html。

2)对于事件编号你可以这样做。

df['incident_number'] = pd.to_datetime(df['incident_number'])

https:/pandas.pydata.orgpandas-docsstablereferenceapipandas.to_datetime.html。

希望对您有所帮助


0
投票
  1. 您的 bias 列是文本,而你想要数字,那么就使用 Categorical;
df['numerical_bias'] = pd.Categorical(df.bias)
  1. 对于日期-时间的格式问题,请使用 format 的论点 to_datetime 函数。
df['incident_number'] = pd.to_datetime(df['incident_number'], format='%d%m%Y')

格式化文档可以在这里找到。https:/docs.python.org3librarydatetime.html#strftime-and-strptime-behavior。

  1. 重命名列在 pandas;
df2.columns = df1.columns

# or if the columns don't match 
df2.columns = ['all', 'the', 'columns', 'you', 'require']

# if you want to rename only one column
i = 4
df2.columns[i] = 'new_name'
© www.soinside.com 2019 - 2024. All rights reserved.