所以我使用pandas从CSV文件创建数据框,我有一个dtype datetime的列。这与较小的数据集一样有效。如果数据集很大,我在此列上执行的操作会将其更改为对象而不是数据时间。有没有办法保存dtypes?我尝试使用iloc或ix与数据帧,但这没有用。以下是我的一些代码以及问题所在。
twitterDataFrame['CreatedAt'] = twitterDataFrame['CreatedAt'].map(lambda x: pandas.to_datetime(x))
twitterDataFrame['CreatedAtForCalculations'] = twitterDataFrame['CreatedAt']
问题出现在下一组代码的第3行。它抱怨tweetsByEachUser['CreatedAtForCalculations'].first()
和tweetsByEachUser['CreatedAtForCalculations'].last()
是字符串,它无法计算字符串的否定。
# Frequency of Tweets
twitterDataFrame = twitterDataFrame.set_index(['CreatedAt'])
tweetsByEachUser = twitterDataFrame.groupby('UserID')
numberOfHoursBetweenFirstAndLastTweet = (tweetsByEachUser['CreatedAtForCalculations'].first() - tweetsByEachUser['CreatedAtForCalculations'].last()).astype('timedelta64[h]')
我试过了
twitterDataFrame.ix['CreatedAtForCalculations':].dtypes
但这也不起作用。有谁知道这个解决方案?
来自df.info
的数据样本 Int64Index: 21836 entries, 0 to 21835
Data columns (total 17 columns):
CreatedAt 21836 non-null object
ActualTweet 21836 non-null object
InReplyToStatusID 21836 non-null bool
InReplyToUserID 21836 non-null bool
UserID 21836 non-null object
RetweetCount 21836 non-null object
FavouriteCount 21836 non-null object
Hashtags 21836 non-null bool
URL 21836 non-null bool
MediaURL 21836 non-null bool
MediaType 21836 non-null object
UserMentionID 21836 non-null bool
PossiblySensitive 21836 non-null object
Language 21836 non-null object
Classifier 21836 non-null object
TweetLength 21836 non-null object
CreatedAtForCalculations 21836 non-null object
dtypes: bool(6), object(11)None
谢谢:)