اذهب إلى المحتوى

Mohamed Elnemr

الأعضاء
  • المساهمات

    54
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    1

كل منشورات العضو Mohamed Elnemr

  1. لدي مشكلة عندما أقوم برسم heatmap باستخدام seaborn واظهار الصورة باستخدام matplotK فأنه يقوم بقص نصف الصف الأول وكذلك الأخير من الصورة التي تخرج، مثل هذا المثال: import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv('data.csv') plt.figure(figsize=(10,5)) sns.heatmap(data.corr()) plt.show() الصورة الناتجة يكون فيها أول صف وأخر صف مقصوصين من النصف: ما حل تلك المشكلة؟
  2. أحاول رسم عدة رسومات بيانية بجانب بعضها في matplot، حاولت بالكود التالي لكن لم يفلح: fig = plt.figure() axes = fig.subplots(nrows=2, ncols=2) كيف يمكنني فعل هذا؟
  3. لدي العديد من البيانات على شكل dataframe، واريد أن أجد طريقة أقوم بعمل إضافة لهم append مرة واحدة عوضاً عن عمل append لكل واحدة مفردها: df.append(df) لنفرض أن لدي dataframes أسماؤهم d1,d2,d3,d4,d5 جربت الطريقة التالية لاضافتهم مرة واحدة لكن لم تفلح: df = rbind(d1,d2,d3,d4,d5) كيف يمكنني فعل هذا؟
  4. لدي بيانات على الشكل التالي: time result 1 01:00 +52A 2 02:00 +62B 3 03:00 +72C 4 04:00 -82D 5 05:00 -92E وأريد أن أجعلها تظهر على الشكل التالي: time result 1 01:00 52 2 02:00 62 3 03:00 72 4 04:00 82 5 05:00 92 حاولت استخدام الدالة .str.lstrip('+-') لكن يظهر لي الخطأ التالي: TypeError: wrapper() takes exactly 1 argument (2 given) كيف يمكنني عمل هذا؟
  5. لدي بيانات على الشكل التالي: 1 2 0 April 4.0 1 August 8.0 2 December 12.0 3 February 2.0 4 January 1.0 5 July 7.0 6 June 6.0 7 March 3.0 8 May 5.0 9 November 11.0 10 October 10.0 11 September 9.0 أريد ترتيبهم بناء على قيم العمود رقم 2 تصاعديا، كيف يمكنني فعل هذا؟
  6. لدي بيانات تحتوى على التاريخ كالتالي: import pandas as pd data = {'start_date': [pd.Timestamp('2021-01-24 13:03:12.050000'), pd.Timestamp('2021-01-27 11:57:18.240000'), pd.Timestamp('2021-01-23 10:07:47.660000')], 'end_date': [pd.Timestamp('2021-01-26 23:41:21.870000'), pd.Timestamp('2021-01-27 15:38:22.540000'), pd.Timestamp('2021-01-23 18:50:41.420000')]} df = pd.DataFrame(data) قمت بعمل عمود لحساب الفرق بين تاريخين كالتالي: df['diff'] = df['end_date'] - df['start_date'] لكنة يظهر لي خانة تدعى "days" عندما يكون الفرق بين التاريخين أكبر من 24 ساعة: start_date end_ date diff 0 2021-01-24 13:03:12.050 2021-01-26 23:41:21.870 2 days 10:38:09.820000 1 2021-01-27 11:57:18.240 2021-01-27 15:38:22.540 0 days 03:41:04.300000 2 2021-01-23 10:07:47.660 2021-01-23 18:50:41.420 0 days 08:42:53.760000 كيف يمكنني حساب الفرق بين الأيام دون ظهور العمود days، بحيث يكون الفرق فقط في شكل ساعات ودقائق؟
  7. لدي بيانات على شكل dataframe بحيث تحتوى على تواريخ، وكل تاريخ مربوط به حدث أو أكثر أو ليس به أحداث إطلاقا، التواريخ من المفترض أنها لشهر كامل، الا انني عندما أقوم بعمل groupby لجمع عدد الأحداث سوياً في كل تاريخ تابعه لها، يكون عدد التواريخ أقل من 30، وذلك لأن هناك بعض الأيام ليس بها أحداث فيتم إزالتها مباشرة كالتالي: df.groupby(['simpleDate']).size() 09-02-2021 2 09-03-2021 10 09-06-2021 5 09-07-2021 1 لاحظ أن هناك تواريخ في المنتصف تم ازالتها لانها لا تحتوى على أحداث. أريد طباعة تلك التواريخ أيضا بحيث يكون عدد الأحداث بها 0 ولا يتم تجاهلها، كيف يمكنني فعل هذا؟
  8. أقوم بانشاء بيانات تحتوى على بعض المدن والمكاتب وكذلك مبيعات تلك المكاتب في المدن كالتالي: df = pd.DataFrame({'city': ['Cairo', 'Dohha', 'Riyadh', 'Dubai'] * 3, 'office_id': range(1, 7) * 2, 'sales': [np.random.randint(100000, 999999) for _ in range(12)]}) df.groupby(['city', 'office_id']).agg({'sales': 'sum'}) بحيث تظهر على الشكل التالي: city office_id sales Cairo 2 839507 4 373917 6 347225 Dohha 1 798585 3 890850 5 454423 Riyadh 1 819975 3 202969 5 614011 Dubai 2 163942 4 369858 6 959285 أريد حساب النسبة المئوية لمبيعات كل مكتب في كل مدينة علما أن محصلة المبيعات لكل المكاتب في كل مدينة = 100% كيف يمكنني فعل هذا؟
  9. أريد أن أعرف الفرق بين الدالة groupby("x").count و groupby("x").size
  10. قمت بعمل dataframe كالتالي: df = DataFrame(index=['A','B','C'], columns=['D','E']) >>> df D E A NaN NaN B NaN NaN C NaN NaN وأريد وضع قيمة في خانة معينة بناء على مكان الخانة index بحيث تظهر كالتالي: D E A NaN NaN B NaN NaN C 20 NaN كيف يمكنني فعل هذا؟
  11. أعرف أن هناك طرقاً لطباعة جزء من ال dataframe أو series كأسماء الأعمدة أو أول بضعة صفوف وكذلك أخر بضعة صفوف، لكن أريد أن أقوم بطباعة كافة ال dataframe على الشاشة، كيف يمكنني فعل هذا؟
  12. أقوم بتحميل بيانات لدي بالشكل التالي: import pandas as pd df = pd.read_csv("D:\\data.csv") df['review'] لكن يظهر لي هذا الخطأ: reviews_new['review'] Traceback (most recent call last): File "<ipython-input-43-ed485b439a1c>", line 1, in <module> reviews_new['review'] File "C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\frame.py", line 1997, in __getitem__ return self._getitem_column(key) File "C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\frame.py", line 2004, in _getitem_column return self._get_item_cache(key) File "C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\generic.py", line 1350, in _get_item_cache values = self._data.get(item) File "C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\core\internals.py", line 3290, in get loc = self.items.get_loc(item) File "C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\indexes\base.py", line 1947, in get_loc return self._engine.get_loc(self._maybe_cast_indexer(key)) File "pandas\index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas\index.c:4154) File "pandas\index.pyx", line 159, in pandas.index.IndexEngine.get_loc (pandas\index.c:4018) File "pandas\hashtable.pyx", line 675, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12368) File "pandas\hashtable.pyx", line 683, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322) KeyError: 'review' كيف أقوم بحل هذا الخطأ؟
  13. لدي بيانات على الشكل التالي: df= col1 col2 0 384444683 593 1 384444684 594 2 384444686 596 وأريد تحويلها الى الشكل التالي بحيث أقوم بتحويل ال index الى عمود باسم index: df= index col1 col2 0 0 384444683 593 1 1 384444684 594 2 2 384444686 596 كيف يمكنني فعل هذا؟
  14. أحاول تشغيل الكود التالي: path = 'data.csv' df = pd.read_csv(path) لكن يظهر لي هذا الخطأ pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, saw 12 كيف يمكنني التغلب على هذا الخطأ؟
  15. لدي dataframe كالتالي: df = pd.DataFrame({'a':list('abccbac')}) وأريد أن أقوم بحساب عدد مرات تكرار الحرف a و c و b بحيث تظهر كالتالي: c 3 a 2 b 2 كيف يمكنني فعل هذا؟
  16. لدي بيانات على هيئة series في pandas كالتالي: df = pd.Series(['cat','hat','bat','dog','ant']) وأود البحث عن الكلمات التي تحتوي علي المقطع "og" والمقطع "at" كيف يمكنني فعل هذا؟
  17. أود عمل دالة بحيث يتم تطبيقها فقط على عمودين معينين من ال dataframes، حاولت عمل الكود التالي: df['col3'] = df[['col1','col2']].apply(f) لكنه يظهر الخطأ التالي: TypeError: ('<lambda>() takes exactly 2 arguments (1 given)' كيف يمكنني فعل هذا؟
  18. أحاول حذف عمود معين من dataframe ، حاولت أستخدام هذا الكود: del df.column_name لكنه لا يعمل، كيف يمكنني عمل هذا؟
  19. لدي بيانات على هيئة اثنان dataframes كالتالي: df1 = pandas.DataFrame(data = {'col1' : [1, 2, 3, 4, 5], 'col2' : [6, 7, 8, 9, 10]}) df2 = pandas.DataFrame(data = {'col1' : [1, 2, 3], 'col2' : [6, 7, 8]}) df1 col1 col2 0 1 6 1 2 7 2 3 8 3 4 9 4 5 10 df2 col1 col2 0 1 6 1 2 7 2 3 8 وأريد الحصول على الصفوف التي تحتوى قيماً غير مشتركة بين الاثنتين بحيث يكون كالتالي: col1 col2 3 4 9 4 5 10 كيف يمكنني فعل هذا؟
  20. أحاول قراءة العديد من ملفات csv باستخدام pandas لكن يظهر لي هذا الخطأ: File "C:\Importer\src\dfman\importer.py", line 26, in import_chr data = pd.read_csv(filepath, names=fields) File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 400, in parser_f return _read(filepath_or_buffer, kwds) File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 205, in _read return parser.read() File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 608, in read ret = self._engine.read(nrows) File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 1028, in read data = self._reader.read(nrows) File "parser.pyx", line 706, in pandas.parser.TextReader.read (pandas\parser.c:6745) File "parser.pyx", line 728, in pandas.parser.TextReader._read_low_memory (pandas\parser.c:6964) File "parser.pyx", line 804, in pandas.parser.TextReader._read_rows (pandas\parser.c:7780) File "parser.pyx", line 890, in pandas.parser.TextReader._convert_column_data (pandas\parser.c:8793) File "parser.pyx", line 950, in pandas.parser.TextReader._convert_tokens (pandas\parser.c:9484) File "parser.pyx", line 1026, in pandas.parser.TextReader._convert_with_dtype (pandas\parser.c:10642) File "parser.pyx", line 1046, in pandas.parser.TextReader._string_convert (pandas\parser.c:10853) File "parser.pyx", line 1278, in pandas.parser._string_box_utf8 (pandas\parser.c:15657) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 6: invalid continuation byte فما سببه وكيف يمكنني حله؟
  21. أعرف أن هناك دوال تستخدم لتطبيق شئ ما على كل البيانات في صورة dataframe لكني لا أعرف الفرق بينهم، متى أستخدم map ومتى applymap ولماذا قد استخدم دالة apply هل من الممكن شرحها مع أمثلة؟
  22. أحاول إستخراج البيانات من موقع الكتروني (خرائط جوجل) كالتالي: from urllib2 import Request, urlopen import json path1 = '40,-81.1' request=Request('http://maps.googleapis.com/maps/api/elevation/json?locations='+path1+'&sensor=false') response = urlopen(request) elevations = response.read() لكن البيانات التي ترجع من هذا الموقع تكون على شكل json، حاولت أن أقوم بقراءتها بهذا الشكل: pd.read_json(elevations) لكن هذا لا يحولها الى dataframe، كيف يمكنني تحويل json الى dataframe
  23. لدي بيانات على شكل dataframe كالتالي: itm Date Amount 420 2021-09-30 65211 421 2021-09-09 29424 421 2021-09-16 29877 421 2021-09-23 30990 421 2021-09-30 61303 485 2021-09-09 71781 485 2021-09-16 NaN 485 2021-09-23 11072 485 2021-09-30 113702 489 2021-09-09 64731 489 2021-09-16 NaN أود تحويل قيم NaN الى 0 ، لكن عندما أحاول يظهر لي الخطأ التالي: ValueError: cannot convert float NaN to integer كيف يمكنني حل تلك المشكلة؟
  24. لدي dataframe أقوم بانشاءها بالشكل التالي: import numpy as np import pandas as pd df = pd.DataFrame(np.random.rand(10, 5)) وأريد أن أقوم باضافة عمود يقوم بحساب المتوسط كالتالي: df['mean'] = df.mean(1) اذا قمت بعرضها تظهر بالشكل التالي: In [1]: df Out[1]: 0 1 2 3 4 mean 0 0.445598 0.173835 0.343415 0.682252 0.582616 0.445543 1 0.881592 0.696942 0.702232 0.696724 0.373551 0.670208 2 0.662527 0.955193 0.131016 0.609548 0.804694 0.632596 3 0.260919 0.783467 0.593433 0.033426 0.512019 0.436653 4 0.131842 0.799367 0.182828 0.683330 0.019485 0.363371 5 0.498784 0.873495 0.383811 0.699289 0.480447 0.587165 6 0.388771 0.395757 0.745237 0.628406 0.784473 0.588529 7 0.147986 0.459451 0.310961 0.706435 0.100914 0.345149 8 0.394947 0.863494 0.585030 0.565944 0.356561 0.553195 9 0.689260 0.865243 0.136481 0.386582 0.730399 0.561593 كيف أجعل المتوسط mean يصبح أول عمود بدل من كونه الخامس؟
  25. لدي بيانات على هيئة dataframe بحيث أن بها عمود به التاريخ. هل هناك طريقة لإختيار عدد من الأعمدة بين تاريخين معينين ، كالفترة بين 1/9/2021 و 10/9/2021؟
×
×
  • أضف...