J'ai une chaîne appelée . Voici quelques échantillons de données: p> starttime code> et je veux ajouter un Durée code> (c'est en minutes) pour obtenir un Terminer code>. startTime : 10:15
duration: 90
3 Réponses :
Essayez ceci: nouveau code> sera 11:45 code>. p> p> p>
parfait, merci! J'ai eu une pièce de théâtre et le% m devrait être% m, mais cela fonctionne pleinement et j'ai depuis utilisé cela pour d'autres conversions aujourd'hui. Je sais donc que je sais comment ça marche aussi. Merci encore monsieur (et à tous ceux qui ont aidé)
Je recommande d'utiliser Comme indiqué par TORXED et SHMEE, Pandas n'est pas un module intégré et il est assez grand Avec environ 70 Mo, il ne peut donc pas convenir à tout le monde. pandas code> pour des tâches comme celle-ci, car il s'agit beaucoup plus intuitif à utiliser que d'utiliser directement le module DateTime code> directement.
Mais puisque Pandas est imho, le meilleur outil pour traiter les données de la série chronologique et, étant donné que la question ressemblait à quelque chose qui est couramment nécessaire lors du traitement des séries chronologiques, je pensais qu'une solution avec des pandas pourrait être intéressante / d'utilisation. P> P>
@Torxed: C'est assez dur. Vous avez raison que Pandas est un gros module, mais IMHO pour travailler avec des données, les pandas doivent être importés tout le temps de toute façon. Étant donné que pour les ordinateurs d'aujourd'hui 66 Mo n'est pas vraiment beaucoup, je suis d'accord avec vous, si une autonome doit être créée. En outre, les pandas sont vraiment faciles à utiliser et robustes pour les erreurs, tandis que DateTime est beaucoup plus compliqué et sujet à la production d'erreurs lorsque vous ne savez pas exactement ce que vous faites.
Depuis quelqu'un, alors aimablement enlevé mon commentaire, je ne peux pas vraiment élaborer ce qui était dur. Je ne vois pas pourquoi pointer sur l'utilisation d'une bibliothèque externe avec un tas de code excédentaire pour résoudre une tâche pouvant être résolue avec des bibliothèques intégrées - est dure. Mais là encore, suggérer des choses (tout en disant que cela résout le problème) est apparemment de mauvaises manières. La vérité et les opinions peuvent faire mal, je l'obtiens. Mais la ligne de ce que vous pouvez dire devient plus serré tous les jours. Je suppose donc que je m'excuse. Je pense juste que les utilisateurs devraient être conscients de ce qu'ils obtiennent lorsqu'ils sont recommandés à une libération externe. Les aides peuvent blesser de nouveaux développeurs.
@Ttorxed je n'ai pas supprimé votre commentaire. Ce n'était pas Qu'est-ce que vous avez dit B>, mais la façon dont vous avez dit b>. Il suffit de le signaler d'une manière amicale sans mots comme "impair" i> ou "shit tonne" i> aurait été mieux. Je suis d'accord avec vous que les pandas pourraient être excédentaires pour cela. Mais il est fort probable qu'il fera plus que de trouver un heure de finition code>. Je suppose qu'il voudra utiliser le temps d'arrivée pour quelque chose. Et si c'est pour certains éléments arrêtés, Pandas sera le bon outil.
Dans certaines circonstances, par exemple Dans les environnements d'entreprise, vous n'avez peut-être pas accès aux packages tiers. Par conséquent, je préfère également les solutions en utilisant également des entreprises.
@shmee je suis tout à fait d'accord. Je pense toujours qu'il est toujours bon de poster des différentes possibilités pour résoudre un problème i>, de sorte que celui qui pose la question peut choisir celui qui compte le meilleur de ses besoins.
Pas du tout à débattre que :) Cependant, je pense qu'une recommandation d'utiliser une 3e partie libère devrait venir avec certains responsabilités de non-responsabilité indiquant ce fait et devraient idéalement contenir un lien vers la page d'accueil / documentation du paquet si disponible. Sur une mise de côté: je pense que vous devriez ajouter importer des pandas comme pD code> pour l'intérêt de l'exhaustivité: D
@shmee me ni et merci pour l'indice. :) J'ai mis en œuvre les deux et ajouté un court avertissement de non-responsabilité.
Je voudrais souligner que vous faites de bonnes et valides observations Scotty. Et j'apprécie que vous soyez une personne raisonnable à communiquer. Utiliser des mots comme "shit ton" ou "impair" est dans ma vie quotidienne n'est pas réputée aussi dure. En fonction du contexte bien sûr. Encore une fois, mes excuses pour tous les mots durs - espérons que vous lisez cela réaliser que cela signifie que les mots sont aussi différents pour l'écrivain que je comprends que c'est pour le lecteur. Et que nous appelons peut convenir que, tant que nous sommes ouverts à la ré-écrire pour rencontrer un terrain d'entente - tout ira bien. Évité pour une description claire et de bonnes réflexions.
@Torxed merci et pas un problème du tout. Aussi pas de upvote nécessaire, si ma solution n'est pas ce que vous appuieriez. Je comprends parfaitement que les pandas peuvent ne pas être le bon outil pour un cas simple comme celui-ci. Aussi merci de pointer cela. Je ne me dérange pas de mots durs, mais surtout sur Internet lorsque vous ne voyez pas l'autre personne, un commentaire amical peut donner un meilleur résultat.
Bien que je ne puisse pas parler pour Torxed, i i> a suscité votre réponse parce que vous l'avez fait une complète et utile. Ce n'est peut-être pas l'approche que je prendrais, mais cela ne rend pas moins digne d'un uppote, IMHO.
Je suis d'accord avec @shmee. Ce n'est pas parce que je n'utiliserais pas ou n'aime pas quelque chose, ne le rend pas moins viable / bien. Vous devez mettre de côté vos propres croies personnels et regarder des choses comme celles-ci d'une perspective de la pensée neutre et critique. C'est une bonne réponse, peu importe ce que je pense ou croire. Cela reflète de bons points, il est utile de pouvoir utiliser des bibliothèques externes - que vous signalez dans votre réponse. Cela seul mérite un vote à nouveau. Les bonnes manières devraient donner un crédit supplémentaire, malheureusement, il n'y a pas de points pour cela - vous devrez donc prendre mes phrases pour ce qu'ils valent. Bon travail:)
Merci alors. :) Et j'ai appris quelque chose: souligner les inconvénients d'une solution spécifique est crucial. Je garderai cela à l'esprit pour mes prochaines réponses.
Vous pouvez utiliser PD.TO_DateTime code> afin de convertir les chaînes en objets DateTime et ajoutez les minutes à l'aide de pd.to_timedelta code>. Convertissez enfin la dateTime au format souhaité à l'aide de Strftime code> A >: import pandas as pd
(pd.to_datetime( '10:15', format='%H:%M') + pd.to_timedelta(90, unit='m')).strftime('%H:%M')
#'11:45'
Pourquoi le bowvote? Raison s'il vous plaît, peut-être que je peux améliorer la réponse avec vos commentaires
Peut-être pourriez-vous me donner un peu de temps pour élaborer ma réponse?
Encore une fois, imho les commentaires de @torxed sont assez difficiles. À mon avis, si quelqu'un essaie d'aider, lui donner l'appréciation. Même si la réponse n'est pas 100% parfaite (surtout dans les 15 premières secondes après l'avoir posté). Mais la descendance d'une réponse immédiate est frustrant pour que quelqu'un affiche une réponse et essayant d'aider ... J'ai donc suscité votre réponse pour indemniser le bowvote. ;)
Bien sûr, je fais la même chose. Je pose une réponse semi-complète tous les jours. Mais je m'assure que le code fourni peut être exécuté comme avant de poster. Sinon, vous postez pour les points et la gloire pour ne pas être utiles. Je vais avoir la haine pour ne pas être poli ici, mais la vérité est que cette réponse n'est pas utile - comme c'est à l'heure actuelle B>. Vous ne pouvez pas courir cela, il n'y a aucune explication sur l'endroit où ces fonctions sont importées. La réponse a été deux mots "utilisez ceci:", puis le code qui ne peut pas être exécuté. Quoi de plus dur, donnant à quelqu'un quelque chose qu'ils ne peuvent pas utiliser ni signaler "ce n'est pas utile"?
Totalement d'accord et appréciez votre commentaire, retourné :)
J'ai même souligné, je retourne habituellement les questions et examine mes votes en baisse lorsque les questions sont utiles / utiles. Et j'ai également fourni des informations sur les raisons pour lesquelles le vote en baisse a été donné afin que l'auteur puisse l'améliorer. Peu importe que l'écrivain en question a pris le temps de demander pourquoi plutôt que de continuer à améliorer sa question. Mais encore une fois, j'ai clairement indiqué pourquoi j'ai donné le vote au bas et je n'ai aucun problème à le retirer lorsque la réponse est utile. Les points sont donnés à de bonnes réponses, le temps n'a rien à voir avec ça.
Il existe des liens vers les bibliothèques exactes ... J'ai ajouté l'importation, mais imo un lien vers la bibliothèque suffit. Quoi qu'il en soit, je ne partage pas du tout votre point de vue, spécialement donné que je fais toujours un effort pour fournir une bonne explication dans mes réponses et faire référence à toutes les fonctions utilisées. J'ai déjà exposé pourquoi les gens qui font un effort dans la réponse doivent être donnés un peu de temps
@Ttorxed Yeah, il est vrai que le code non-exécutant n'aide pas cela beaucoup. Mais ce n'est-il jamais arrivé, que vous avez posté un extrait de code de la console et que vous avez oublié une ligne ou ajouté une faute de frappe depuis que vous avez nommé les variables de manière différente de celle de la question? Cela me arrive assez souvent et parfois, cela me prend un peu de temps pour le réaliser. Donnez simplement aux gens un peu de temps et postez un indice amical. Cela aidera beaucoup plus que de descendre sans commentaire. Et merci yatu
Je devrais souligner que vous et @ scotty1- sont les bienvenus pour avoir une conversion réelle sur ces choses à tout moment, n'importe quel jour si vous en avez envie. Je doute que les commentaires soient l'endroit pour être pour ces choses.
@Torxed je suis d'accord avec le point que les commentaires ne sont pas des conversations. Mais en regardant la longueur des commentaires ... N'était-ce pas vous qui a commencé la conversation? :)
Dupliqué possible de DateTime Strptime à Python
Duplicaté possible de Quoi est le moyen standard d'ajouter n secondes à DateTime.time à Python?