如何解决无法在Pandas中更改多种列类型?
我正在尝试转换df中的列。 一个是日期列,另一个是字符串,整数和浮点数。
我的代码是:
$creative = [];
$styled = [];
/* ... */
function getHitInfos($theHit)
{
return [
"url" => $theHit->thumbnailUrl,"name" => $theHit->metadata->baseName
];
}
function printResults($results,$title) {
echo '<div>';
echo '<h2>'.$title.'</h2>';
foreach ($results as $key => $val) {
echo "<img src='" . $val["url"] . "' alt='error'>";
echo $val["name"];
}
echo '</div>';
}
foreach ($hits as $hit)
{
$target = $hit->metadata->baseName;
$target1 = $hit->metadata->cf_imageType;
echo '<div>';
if(preg_match("/_cm/i",$target)) {
$creative[] = getHitInfos($hit)
}
if(preg_match("/_SS/i",$target)) {
$styled[] = getHitInfos($hit)
}
/* ... */
}
printResults($creative,"Creative");
printResults($styled,"Styled");
/* ... */
我收到以下错误:
TypeError:无法从中解释'
'作为数据类型
但是当我将Date列转换为日期时使用
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
from sklearn.metrics import mean_absolute_error
from sklearn.ensemble import RandomForestRegressor
import os
import xlrd
import datetime
pd.set_option('display.max_rows',5000)
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)
df = pd.read_csv(
r'C:\Users\harsh\Documents\My Dream\Desktop\Machine Learning\Attempt1\Historical Data\Concat_Cleaned.csv',skiprows=0)
convert_dict = {'League_Division': str,'Date': datetime,'HomeTeam': str,'AwayTeam': str,'Full_Time_Home_Goals': int,'Full_Time_Away_Goals': int,'Full_Time_Result': str,'Half_Time_Home_Goals': int,'Half_Time_Away_Goals': int,'Half_Time_Result': str,'Attendance': int,'Referee': str,'Home_Team_Shots': int,'Away_Team_Shots': int,'Home_Team_Shots_on_Target': int,'Away_Team_Shots_on_Target': int,'Home_Team_Hit_Woodwork': int,'Away_Team_Hit_Woodwork': int,'Home_Team_Corners': int,'Away_Team_Corners': int,'Home_Team_Fouls': int,'Away_Team_Fouls': int,'Home_Offsides': int,'Away_Offsides': int,'Home_Team_Yellow_Cards': int,'Away_Team_Yellow_Cards': int,'Home_Team_Red_Cards': int,'Away_Team_Red_Cards': int,'Home_Team_Bookings_Points': float,'Away_Team_Bookings_Points': float
}
df = df.astype(convert_dict)
print(df.dtypes)
该列已转换,但是pandas删除了所有其他列。
我的数据也具有df = pd.to_datetime(df['Date'])
值。
我该如何解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。